
module MenhirBasics = struct
  
  exception Error
  
  let _eRR =
    fun _s ->
      raise Error
  
  type token = 
    | WITH
    | WHEN
    | VAL
    | USE_LANG_BLOB of 
# 200 "fstar-guts/FStarC_Parser_Parse.mly"
      (string * string * Lexing.position * FStarC_Sedlexing.snap)
# 18 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | UNOPTEQUALITY
    | UNIV_HASH
    | UNFOLDABLE
    | UNFOLD
    | UNDERSCORE
    | UINT8 of 
# 135 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 28 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | UINT64 of 
# 141 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 33 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | UINT32 of 
# 139 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 38 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | UINT16 of 
# 137 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 43 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | TYPE
    | TRY
    | TRUE
    | TOTAL
    | TILDE of 
# 131 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 52 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | THEN
    | SYNTH
    | SUB_EFFECT
    | SUBTYPE
    | SUBKIND
    | STRING of 
# 128 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 62 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | SQUIGGLY_RARROW
    | SPLICET
    | SPLICE
    | SIZET of 
# 142 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 70 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | SET_RANGE_OF
    | SEQ_BANG_LBRACK
    | SEMICOLON_OP of 
# 162 "fstar-guts/FStarC_Parser_Parse.mly"
       (string option)
# 77 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | SEMICOLON
    | RPAREN
    | RETURNS_EQ
    | RETURNS
    | REQUIRES
    | REIFY
    | REIFIABLE
    | REFLECTABLE
    | REC
    | REAL of 
# 144 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 91 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | RBRACK
    | RBRACE
    | RARROW
    | RANGE_OF
    | QUOTE
    | QMARK_DOT
    | QMARK
    | PRIVATE
    | PRAGMA_SHOW_OPTIONS
    | PRAGMA_SET_OPTIONS
    | PRAGMA_RESTART_SOLVER
    | PRAGMA_RESET_OPTIONS
    | PRAGMA_PUSH_OPTIONS
    | PRAGMA_PRINT_EFFECTS_GRAPH
    | PRAGMA_POP_OPTIONS
    | PRAGMA_EVAL
    | PRAGMA_CHECK
    | POLYMONADIC_SUBCOMP
    | POLYMONADIC_BIND
    | PIPE_RIGHT
    | PIPE_LEFT
    | PERCENT_LBRACK
    | OP_MIXFIX_ASSIGNMENT of 
# 198 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 118 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OP_MIXFIX_ACCESS of 
# 198 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 123 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPPREFIX of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 128 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX4 of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 133 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX3R of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 138 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX3L of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 143 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX2 of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 148 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX1 of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 153 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX0d of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 158 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX0c of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 163 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX0b of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 168 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPINFIX0a of 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 173 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | OPEN
    | OPAQUE
    | OF
    | NOEXTRACT
    | NOEQUALITY
    | NEW_EFFECT
    | NEW
    | NAME of 
# 130 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 185 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | MODULE
    | MINUS
    | MATCH_OP of 
# 150 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 192 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | MATCH
    | LPAREN_RPAREN
    | LPAREN
    | LONG_LEFT_ARROW
    | LOGIC
    | LET_OP of 
# 148 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 202 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | LET
    | LENS_PAREN_RIGHT
    | LENS_PAREN_LEFT
    | LBRACK_BAR
    | LBRACK_AT_AT_AT
    | LBRACK_AT_AT
    | LBRACK_AT
    | LBRACK
    | LBRACE_COLON_WELL_FOUNDED
    | LBRACE_COLON_PATTERN
    | LBRACE_BAR
    | LBRACE
    | LAYERED_EFFECT
    | LARROW
    | IRREDUCIBLE
    | INTRO
    | INT8 of 
# 134 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 223 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INT64 of 
# 140 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 228 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INT32 of 
# 138 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 233 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INT16 of 
# 136 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 238 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INT of 
# 133 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 243 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | INSTANCE
    | INLINE_FOR_EXTRACTION
    | INLINE
    | INCLUDE
    | IN
    | IMPLIES
    | IF_OP of 
# 151 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 254 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | IFF
    | IF
    | IDENT of 
# 129 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 261 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | HASH
    | FUNCTION
    | FUN
    | FRIEND
    | FORALL_OP of 
# 155 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 270 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | FORALL
    | FALSE
    | EXISTS_OP of 
# 153 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 277 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | EXISTS
    | EXCEPTION
    | EQUALTYPE
    | EQUALS
    | EOF
    | ENSURES
    | END
    | ELSE
    | ELIM
    | EFFECT
    | DOT_LPAREN
    | DOT_LENS_PAREN_LEFT
    | DOT_LBRACK_BAR
    | DOT_LBRACK
    | DOT_DOT
    | DOT
    | DOLLAR
    | DISJUNCTION
    | DECREASES
    | CONJUNCTION
    | COMMA
    | COLON_EQUALS
    | COLON_COLON
    | COLON
    | CLASS
    | CHAR of 
# 146 "fstar-guts/FStarC_Parser_Parse.mly"
       (FStar_Char.char)
# 307 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | CALC
    | BY
    | BLOB of 
# 199 "fstar-guts/FStarC_Parser_Parse.mly"
      (string * string * Lexing.position * FStarC_Sedlexing.snap)
# 314 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | BEGIN
    | BAR_RBRACK
    | BAR_RBRACE
    | BAR
    | BANG_LBRACE
    | BACKTICK_PERC
    | BACKTICK_HASH
    | BACKTICK_AT
    | BACKTICK
    | ATTRIBUTES
    | ASSUME
    | ASSERT
    | AS
    | AND_OP of 
# 149 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 332 "fstar-guts/FStarC_Parser_Parse.ml"
  
    | AND
    | AMP
  
end

include MenhirBasics

# 1 "fstar-guts/FStarC_Parser_Parse.mly"
  
(*
 This parser should be conflict-free (0 shift/reduce, 0 reduce/reduce).

 Shift/reduce conflicts that naturally arise in an ML-style language
 (dangling BAR in match/function/try, FUN body extent, etc.) are
 resolved via precedence declarations: chain rules are annotated with
 %prec below_op so that binary operators and delimiters always shift
 into the body of the enclosing construct.

 If you're editing this file, be sure to not introduce new conflicts.

 Note: Some symbols are marked public, so that we can reuse this parser from
 the parser for the Pulse DSL in FStarLang/steel.

*)
(* (c) Microsoft Corporation. All rights reserved *)
open Prims
open FStar_Pervasives
open FStarC_Errors
open FStarC_List
open FStarC_Range

(* TODO : these files should be deprecated and removed *)
open FStarC_Parser_Const
open FStarC_Parser_AST
open FStarC_Const
open FStarC_Ident

(* Shorthands *)
let rr = FStarC_Parser_Util.translate_range
let rr2 = FStarC_Parser_Util.translate_range2

let logic_qualifier_deprecation_warning =
  "logic qualifier is deprecated, please remove it from the source program. In case your program verifies with the qualifier annotated but not without it, please try to minimize the example and file a github issue."

let mk_meta_tac m = Meta m

let old_attribute_syntax_warning =
  "The `[@ ...]` syntax of attributes is deprecated. \
   Use `[@@ a1; a2; ...; an]`, a semi-colon separated list of attributes, instead"

let none_to_empty_list x =
  match x with
  | None -> []
  | Some l -> l

let parse_extension_blob (extension_name:string)
                         (s:string)
                         (blob_range:range)
                         (extension_syntax_start:range) : FStarC_Parser_AST.decl' =
    DeclSyntaxExtension (extension_name, s, blob_range, extension_syntax_start)

let parse_use_lang_blob (extension_name:string)
                         (s:string)
                         (blob_range:range)
                         (extension_syntax_start:range) 
: FStarC_Parser_AST.decl list
= FStarC_Parser_AST_Util.parse_extension_lang extension_name s extension_syntax_start

type tc_constraint = {
  id: FStarC_Ident.ident;
  t: FStarC_Parser_AST.term;
  r: FStarC_Range.t;
}

let pattern_must_be_binder (p : pattern) : binder =
  match p.pat with
  | PatConst Const_unit ->
    (* A unit pattern: `()`. Unsure if this is the right place to look
    for it. *)
    let x = gen p.prange in
    let u =
      unit_type p.prange
      (* mk_term (Const Const_unit) p.prange Expr *)
    in
    mk_binder (Annotated (x, u)) p.prange Expr None

  | PatAscribed ({ pat = PatVar (x, aq, attrs)}, (t, _tac_opt)) ->
    mk_binder_with_attrs (Annotated (x, t)) p.prange Expr aq attrs

  | PatVar (x, aq, attrs) ->
    mk_binder_with_attrs (Variable x) p.prange Expr aq attrs

  | PatAscribed ({ pat = PatWild (aq, attrs)}, (t, _tac_opt)) ->
    let x = gen p.prange in
    mk_binder_with_attrs (Annotated (x, t)) p.prange Expr aq attrs

  | PatWild (aq, attrs) ->
    let x = gen p.prange in
    mk_binder_with_attrs (Variable x) p.prange Expr aq attrs

  | _ ->
    raise_error_text p.prange Fatal_SyntaxError
      ("Must be a simple binder: " ^ pat_to_string p)

(* For a multibinder like `(a b c : Type | eq, ord)`, this generates
   binders
     {| _ : eq a |} {| _ : ord a |}
     {| _ : eq b |} {| _ : ord b |}
     {| _ : eq c |} {| _ : ord c |}
  in that order.
*)
let expand_inline_constraints (cts : term list) (xs : ident list) : pattern list =
  List.concat_map (fun x ->
    List.concat_map (fun ct ->
      let r = ct.range in
      let x_t = mk_term (Var (lid_of_ids [x])) r Expr in
      let ct = mk_term (App (ct, x_t, Nothing)) r Expr in
      let id = gen r in
      [ mk_pattern (PatAscribed(mk_pattern (PatVar (id, Some TypeClassArg, [])) r, (ct, None))) r ]
    ) cts
  ) xs

let rec pat_names (bs : pattern list) : ident list =
  match bs with
  | [] -> []
  | b::bs' ->
    match b.pat with
    | PatAscribed ({pat = PatVar (x, _, _)}, _)
    | PatVar (x, _, _) -> x :: pat_names bs'
    | _ ->
      raise_error_text b.prange Fatal_SyntaxError
        ("Inline constraints require simple variable binders, got: " ^ pat_to_string b)


# 468 "fstar-guts/FStarC_Parser_Parse.ml"

type ('s, 'r) _menhir_state = 
  | MenhirState0000 : ('s, _menhir_box_inputFragment) _menhir_state
    (** State 0000.
        Stack shape : <empty>.
        Start symbol: inputFragment. *)

  | MenhirState0014 : (('s, 'r) _menhir_cell1_LBRACK_AT_AT, 'r) _menhir_state
    (** State 0014.
        Stack shape : LBRACK_AT_AT.
        Start symbol: <undetermined>. *)

  | MenhirState0016 : (('s, 'r) _menhir_cell1_UNDERSCORE, 'r) _menhir_state
    (** State 0016.
        Stack shape : UNDERSCORE.
        Start symbol: <undetermined>. *)

  | MenhirState0026 : (('s, 'r) _menhir_cell1_SEQ_BANG_LBRACK, 'r) _menhir_state
    (** State 0026.
        Stack shape : SEQ_BANG_LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0027 : (('s, 'r) _menhir_cell1_TRY, 'r) _menhir_state
    (** State 0027.
        Stack shape : TRY.
        Start symbol: <undetermined>. *)

  | MenhirState0028 : (('s, 'r) _menhir_cell1_TILDE, 'r) _menhir_state
    (** State 0028.
        Stack shape : TILDE.
        Start symbol: <undetermined>. *)

  | MenhirState0032 : (('s, 'r) _menhir_cell1_PERCENT_LBRACK, 'r) _menhir_state
    (** State 0032.
        Stack shape : PERCENT_LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0033 : (('s, 'r) _menhir_cell1_SYNTH, 'r) _menhir_state
    (** State 0033.
        Stack shape : SYNTH.
        Start symbol: <undetermined>. *)

  | MenhirState0034 : (('s, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_state
    (** State 0034.
        Stack shape : OPPREFIX.
        Start symbol: <undetermined>. *)

  | MenhirState0035 : ((('s, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_state
    (** State 0035.
        Stack shape : OPPREFIX OPPREFIX.
        Start symbol: <undetermined>. *)

  | MenhirState0038 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0038.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0039 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE, 'r) _menhir_state
    (** State 0039.
        Stack shape : LPAREN TILDE.
        Start symbol: <undetermined>. *)

  | MenhirState0041 : (('s, 'r) _menhir_cell1_LENS_PAREN_LEFT, 'r) _menhir_state
    (** State 0041.
        Stack shape : LENS_PAREN_LEFT.
        Start symbol: <undetermined>. *)

  | MenhirState0043 : (('s, 'r) _menhir_cell1_QUOTE, 'r) _menhir_state
    (** State 0043.
        Stack shape : QUOTE.
        Start symbol: <undetermined>. *)

  | MenhirState0044 : (('s, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 0044.
        Stack shape : MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0045 : (('s, 'r) _menhir_cell1_LBRACK, 'r) _menhir_state
    (** State 0045.
        Stack shape : LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0046 : (('s, 'r) _menhir_cell1_REQUIRES, 'r) _menhir_state
    (** State 0046.
        Stack shape : REQUIRES.
        Start symbol: <undetermined>. *)

  | MenhirState0047 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0047.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0050 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_state
    (** State 0050.
        Stack shape : LPAREN OPPREFIX.
        Start symbol: <undetermined>. *)

  | MenhirState0060 : (('s, 'r) _menhir_cell1_BEGIN, 'r) _menhir_state
    (** State 0060.
        Stack shape : BEGIN.
        Start symbol: <undetermined>. *)

  | MenhirState0063 : (('s, 'r) _menhir_cell1_LET_OP, 'r) _menhir_state
    (** State 0063.
        Stack shape : LET_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0065 : (('s, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 0065.
        Stack shape : MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0067 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0067.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0081 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 0081.
        Stack shape : LPAREN MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0085 : (('s, 'r) _menhir_cell1_LENS_PAREN_LEFT, 'r) _menhir_state
    (** State 0085.
        Stack shape : LENS_PAREN_LEFT.
        Start symbol: <undetermined>. *)

  | MenhirState0086 : (('s, 'r) _menhir_cell1_LBRACK_AT_AT_AT, 'r) _menhir_state
    (** State 0086.
        Stack shape : LBRACK_AT_AT_AT.
        Start symbol: <undetermined>. *)

  | MenhirState0087 : (('s, 'r) _menhir_cell1_LET, 'r) _menhir_state
    (** State 0087.
        Stack shape : LET.
        Start symbol: <undetermined>. *)

  | MenhirState0090 : ((('s, 'r) _menhir_cell1_LET, 'r) _menhir_cell1_OPEN, 'r) _menhir_state
    (** State 0090.
        Stack shape : LET OPEN.
        Start symbol: <undetermined>. *)

  | MenhirState0091 : (('s, 'r) _menhir_cell1_LBRACK_AT, 'r) _menhir_state
    (** State 0091.
        Stack shape : LBRACK_AT.
        Start symbol: <undetermined>. *)

  | MenhirState0092 : (('s, 'r) _menhir_cell1_BANG_LBRACE, 'r) _menhir_state
    (** State 0092.
        Stack shape : BANG_LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0093 : (('s, 'r) _menhir_cell1_FUN, 'r) _menhir_state
    (** State 0093.
        Stack shape : FUN.
        Start symbol: <undetermined>. *)

  | MenhirState0094 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0094.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0096 : (('s, 'r) _menhir_cell1_LBRACK, 'r) _menhir_state
    (** State 0096.
        Stack shape : LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0097 : (('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 0097.
        Stack shape : LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0099 : (('s, 'r) _menhir_cell1_uident _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0099.
        Stack shape : uident DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0105 : (('s, 'r) _menhir_cell1_qlident _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0105.
        Stack shape : qlident EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0107 : (('s, 'r) _menhir_cell1_HASH _menhir_cell0_LBRACK, 'r) _menhir_state
    (** State 0107.
        Stack shape : HASH LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0108 : (('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_state
    (** State 0108.
        Stack shape : LBRACE_BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0109 : (('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 0109.
        Stack shape : LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0110 : ((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0110.
        Stack shape : LBRACE LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0111 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE, 'r) _menhir_state
    (** State 0111.
        Stack shape : LBRACE LPAREN TILDE.
        Start symbol: <undetermined>. *)

  | MenhirState0114 : (('s, 'r) _menhir_cell1_uident _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0114.
        Stack shape : uident DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0117 : (('s, 'r) _menhir_cell1_quident, 'r) _menhir_state
    (** State 0117.
        Stack shape : quident.
        Start symbol: <undetermined>. *)

  | MenhirState0120 : (('s, 'r) _menhir_cell1_quident _menhir_cell0_DOT_LPAREN, 'r) _menhir_state
    (** State 0120.
        Stack shape : quident DOT_LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0121 : (('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_state
    (** State 0121.
        Stack shape : INTRO.
        Start symbol: <undetermined>. *)

  | MenhirState0123 : (('s, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_state
    (** State 0123.
        Stack shape : FORALL_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0126 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0126.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0130 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0130.
        Stack shape : LPAREN nonempty_list(aqualifiedWithAttrs(lidentOrUnderscore)) COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0131 : (('s, 'r) _menhir_cell1_TILDE, 'r) _menhir_state
    (** State 0131.
        Stack shape : TILDE.
        Start symbol: <undetermined>. *)

  | MenhirState0133 : (('s, 'r) _menhir_cell1_projectionLHS, 'r) _menhir_state
    (** State 0133.
        Stack shape : projectionLHS.
        Start symbol: <undetermined>. *)

  | MenhirState0134 : (('s, 'r) _menhir_cell1_DOT, 'r) _menhir_state
    (** State 0134.
        Stack shape : DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0135 : ((('s, 'r) _menhir_cell1_DOT, 'r) _menhir_cell1_qlident, 'r) _menhir_state
    (** State 0135.
        Stack shape : DOT qlident.
        Start symbol: <undetermined>. *)

  | MenhirState0146 : (('s, 'r) _menhir_cell1_QUOTE, 'r) _menhir_state
    (** State 0146.
        Stack shape : QUOTE.
        Start symbol: <undetermined>. *)

  | MenhirState0147 : (('s, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 0147.
        Stack shape : MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0148 : (('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 0148.
        Stack shape : LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0149 : (('s, 'r) _menhir_cell1_FORALL, 'r) _menhir_state
    (** State 0149.
        Stack shape : FORALL.
        Start symbol: <undetermined>. *)

  | MenhirState0150 : (('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_state
    (** State 0150.
        Stack shape : LBRACE_BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0151 : (('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_state
    (** State 0151.
        Stack shape : LBRACE_BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0152 : (('s, 'r) _menhir_cell1_BACKTICK_PERC, 'r) _menhir_state
    (** State 0152.
        Stack shape : BACKTICK_PERC.
        Start symbol: <undetermined>. *)

  | MenhirState0154 : (('s, 'r) _menhir_cell1_BACKTICK_HASH, 'r) _menhir_state
    (** State 0154.
        Stack shape : BACKTICK_HASH.
        Start symbol: <undetermined>. *)

  | MenhirState0156 : (('s, 'r) _menhir_cell1_BACKTICK_AT, 'r) _menhir_state
    (** State 0156.
        Stack shape : BACKTICK_AT.
        Start symbol: <undetermined>. *)

  | MenhirState0158 : (('s, 'r) _menhir_cell1_BACKTICK, 'r) _menhir_state
    (** State 0158.
        Stack shape : BACKTICK.
        Start symbol: <undetermined>. *)

  | MenhirState0160 : (('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX4, 'r) _menhir_state
    (** State 0160.
        Stack shape : tmNoEqWith(appTermNoRecordExp) OPINFIX4.
        Start symbol: <undetermined>. *)

  | MenhirState0163 : (('s, 'r) _menhir_cell1_indexingTerm, 'r) _menhir_state
    (** State 0163.
        Stack shape : indexingTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0164 : (('s, 'r) _menhir_cell1_UNIV_HASH, 'r) _menhir_state
    (** State 0164.
        Stack shape : UNIV_HASH.
        Start symbol: <undetermined>. *)

  | MenhirState0166 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0166.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0170 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_universeFrom _menhir_cell0_OPINFIX2, 'r) _menhir_state
    (** State 0170.
        Stack shape : LPAREN universeFrom OPINFIX2.
        Start symbol: <undetermined>. *)

  | MenhirState0174 : (('s, 'r) _menhir_cell1_ident, 'r) _menhir_state
    (** State 0174.
        Stack shape : ident.
        Start symbol: <undetermined>. *)

  | MenhirState0177 : (('s, 'r) _menhir_cell1_atomicUniverse, 'r) _menhir_state
    (** State 0177.
        Stack shape : atomicUniverse.
        Start symbol: <undetermined>. *)

  | MenhirState0181 : (('s, 'r) _menhir_cell1_HASH, 'r) _menhir_state
    (** State 0181.
        Stack shape : HASH.
        Start symbol: <undetermined>. *)

  | MenhirState0182 : ((('s, 'r) _menhir_cell1_HASH, 'r) _menhir_cell1_indexingTerm, 'r) _menhir_state
    (** State 0182.
        Stack shape : HASH indexingTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0183 : (('s, 'r) _menhir_cell1_universe, 'r) _menhir_state
    (** State 0183.
        Stack shape : universe.
        Start symbol: <undetermined>. *)

  | MenhirState0184 : (('s, 'r) _menhir_cell1_indexingTerm, 'r) _menhir_state
    (** State 0184.
        Stack shape : indexingTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0185 : (('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_state
    (** State 0185.
        Stack shape : atomicTermNotQUident.
        Start symbol: <undetermined>. *)

  | MenhirState0186 : (('s, 'r) _menhir_cell1_DOT_LPAREN, 'r) _menhir_state
    (** State 0186.
        Stack shape : DOT_LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0189 : (('s, 'r) _menhir_cell1_FUNCTION, 'r) _menhir_state
    (** State 0189.
        Stack shape : FUNCTION.
        Start symbol: <undetermined>. *)

  | MenhirState0191 : (('s, 'r) _menhir_cell1_BAR, 'r) _menhir_state
    (** State 0191.
        Stack shape : BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0192 : (('s, 'r) _menhir_cell1_BACKTICK_PERC, 'r) _menhir_state
    (** State 0192.
        Stack shape : BACKTICK_PERC.
        Start symbol: <undetermined>. *)

  | MenhirState0195 : (('s, 'r) _menhir_cell1_uident _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0195.
        Stack shape : uident DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0197 : (('s, 'r) _menhir_cell1_tuplePattern _menhir_cell0_BAR, 'r) _menhir_state
    (** State 0197.
        Stack shape : tuplePattern BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0200 : (('s, 'r) _menhir_cell1_quident, 'r) _menhir_state
    (** State 0200.
        Stack shape : quident.
        Start symbol: <undetermined>. *)

  | MenhirState0205 : (('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0205.
        Stack shape : binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0208 : (('s, 'r) _menhir_cell1_atomicPattern, 'r) _menhir_state
    (** State 0208.
        Stack shape : atomicPattern.
        Start symbol: <undetermined>. *)

  | MenhirState0212 : (('s, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 0212.
        Stack shape : aqual.
        Start symbol: <undetermined>. *)

  | MenhirState0215 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0215.
        Stack shape : aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0219 : (('s, 'r) _menhir_cell1_constructorPattern _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0219.
        Stack shape : constructorPattern COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0222 : (('s, 'r) _menhir_cell1_constructorPattern _menhir_cell0_COLON_COLON, 'r) _menhir_state
    (** State 0222.
        Stack shape : constructorPattern COLON_COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0226 : (('s, 'r) _menhir_cell1_disjunctivePattern, 'r) _menhir_state
    (** State 0226.
        Stack shape : disjunctivePattern.
        Start symbol: <undetermined>. *)

  | MenhirState0227 : ((('s, 'r) _menhir_cell1_disjunctivePattern, 'r) _menhir_cell1_WHEN, 'r) _menhir_state
    (** State 0227.
        Stack shape : disjunctivePattern WHEN.
        Start symbol: <undetermined>. *)

  | MenhirState0228 : (('s, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_state
    (** State 0228.
        Stack shape : EXISTS_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0229 : (('s, 'r) _menhir_cell1_multiBinder, 'r) _menhir_state
    (** State 0229.
        Stack shape : multiBinder.
        Start symbol: <undetermined>. *)

  | MenhirState0232 : (('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0232.
        Stack shape : binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0235 : (('s, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 0235.
        Stack shape : aqual.
        Start symbol: <undetermined>. *)

  | MenhirState0237 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0237.
        Stack shape : aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0241 : ((('s, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0241.
        Stack shape : EXISTS_OP binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0242 : (((('s, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_LBRACE_COLON_PATTERN, 'r) _menhir_state
    (** State 0242.
        Stack shape : EXISTS_OP binders DOT LBRACE_COLON_PATTERN.
        Start symbol: <undetermined>. *)

  | MenhirState0243 : (('s, 'r) _menhir_cell1_EXISTS, 'r) _menhir_state
    (** State 0243.
        Stack shape : EXISTS.
        Start symbol: <undetermined>. *)

  | MenhirState0245 : ((('s, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0245.
        Stack shape : EXISTS binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0246 : (((('s, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_LBRACE_COLON_PATTERN, 'r) _menhir_state
    (** State 0246.
        Stack shape : EXISTS binders DOT LBRACE_COLON_PATTERN.
        Start symbol: <undetermined>. *)

  | MenhirState0250 : (('s, 'r) _menhir_cell1_indexingTerm, 'r) _menhir_state
    (** State 0250.
        Stack shape : indexingTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0251 : (('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 0251.
        Stack shape : LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0253 : (('s, 'r) _menhir_cell1_simpleDef _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0253.
        Stack shape : simpleDef SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0254 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0254.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0255 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE, 'r) _menhir_state
    (** State 0255.
        Stack shape : LPAREN TILDE.
        Start symbol: <undetermined>. *)

  | MenhirState0257 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_state
    (** State 0257.
        Stack shape : LPAREN OPPREFIX.
        Start symbol: <undetermined>. *)

  | MenhirState0259 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 0259.
        Stack shape : LPAREN MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0261 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP, 'r) _menhir_state
    (** State 0261.
        Stack shape : LPAREN LET_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0265 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_state
    (** State 0265.
        Stack shape : LPAREN FORALL_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0267 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_state
    (** State 0267.
        Stack shape : LPAREN EXISTS_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0279 : ((('s, 'r) _menhir_cell1_simpleDef _menhir_cell0_SEMICOLON, 'r) _menhir_cell1_simpleDef _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0279.
        Stack shape : simpleDef SEMICOLON simpleDef SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0282 : (('s, 'r) _menhir_cell1_qlidentOrOperator _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0282.
        Stack shape : qlidentOrOperator EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0283 : (('s, 'r) _menhir_cell1_ENSURES, 'r) _menhir_state
    (** State 0283.
        Stack shape : ENSURES.
        Start symbol: <undetermined>. *)

  | MenhirState0284 : (('s, 'r) _menhir_cell1_BACKTICK_PERC, 'r) _menhir_state
    (** State 0284.
        Stack shape : BACKTICK_PERC.
        Start symbol: <undetermined>. *)

  | MenhirState0286 : (('s, 'r) _menhir_cell1_BACKTICK_HASH, 'r) _menhir_state
    (** State 0286.
        Stack shape : BACKTICK_HASH.
        Start symbol: <undetermined>. *)

  | MenhirState0288 : (('s, 'r) _menhir_cell1_BACKTICK_AT, 'r) _menhir_state
    (** State 0288.
        Stack shape : BACKTICK_AT.
        Start symbol: <undetermined>. *)

  | MenhirState0290 : (('s, 'r) _menhir_cell1_BACKTICK, 'r) _menhir_state
    (** State 0290.
        Stack shape : BACKTICK.
        Start symbol: <undetermined>. *)

  | MenhirState0293 : (('s, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_OPINFIX4, 'r) _menhir_state
    (** State 0293.
        Stack shape : tmNoEqWith(tmRefinement) OPINFIX4.
        Start symbol: <undetermined>. *)

  | MenhirState0297 : (('s, 'r) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0297.
        Stack shape : lidentOrUnderscore COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0299 : ((('s, 'r) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON, 'r) _menhir_cell1_appTermNoRecordExp, 'r) _menhir_state
    (** State 0299.
        Stack shape : lidentOrUnderscore COLON appTermNoRecordExp.
        Start symbol: <undetermined>. *)

  | MenhirState0300 : (('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 0300.
        Stack shape : LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0301 : (('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_state
    (** State 0301.
        Stack shape : ELIM.
        Start symbol: <undetermined>. *)

  | MenhirState0302 : ((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_FORALL, 'r) _menhir_state
    (** State 0302.
        Stack shape : ELIM FORALL.
        Start symbol: <undetermined>. *)

  | MenhirState0304 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_FORALL, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0304.
        Stack shape : ELIM FORALL binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0305 : (((('s, 'r) _menhir_cell1_FORALL, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_LBRACE_COLON_PATTERN, 'r) _menhir_state
    (** State 0305.
        Stack shape : FORALL binders DOT LBRACE_COLON_PATTERN.
        Start symbol: <undetermined>. *)

  | MenhirState0307 : ((((('s, 'r) _menhir_cell1_FORALL, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_LBRACE_COLON_PATTERN, 'r) _menhir_cell1_disjunctivePats _menhir_cell0_RBRACE, 'r) _menhir_state
    (** State 0307.
        Stack shape : FORALL binders DOT LBRACE_COLON_PATTERN disjunctivePats RBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0308 : (('s, 'r) _menhir_cell1_DECREASES, 'r) _menhir_state
    (** State 0308.
        Stack shape : DECREASES.
        Start symbol: <undetermined>. *)

  | MenhirState0309 : ((('s, 'r) _menhir_cell1_DECREASES, 'r) _menhir_cell1_LBRACE_COLON_WELL_FOUNDED, 'r) _menhir_state
    (** State 0309.
        Stack shape : DECREASES LBRACE_COLON_WELL_FOUNDED.
        Start symbol: <undetermined>. *)

  | MenhirState0310 : (('s, 'r) _menhir_cell1_CALC, 'r) _menhir_state
    (** State 0310.
        Stack shape : CALC.
        Start symbol: <undetermined>. *)

  | MenhirState0312 : ((('s, 'r) _menhir_cell1_CALC, 'r) _menhir_cell1_atomicTerm _menhir_cell0_LBRACE, 'r) _menhir_state
    (** State 0312.
        Stack shape : CALC atomicTerm LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0313 : (('s, 'r) _menhir_cell1_ATTRIBUTES, 'r) _menhir_state
    (** State 0313.
        Stack shape : ATTRIBUTES.
        Start symbol: <undetermined>. *)

  | MenhirState0315 : (('s, 'r) _menhir_cell1_atomicTerm, 'r) _menhir_state
    (** State 0315.
        Stack shape : atomicTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0317 : (('s, 'r) _menhir_cell1_ASSUME, 'r) _menhir_state
    (** State 0317.
        Stack shape : ASSUME.
        Start symbol: <undetermined>. *)

  | MenhirState0318 : (('s, 'r) _menhir_cell1_ASSERT, 'r) _menhir_state
    (** State 0318.
        Stack shape : ASSERT.
        Start symbol: <undetermined>. *)

  | MenhirState0322 : (('s, 'r) _menhir_cell1_tmImplies _menhir_cell0_IFF, 'r) _menhir_state
    (** State 0322.
        Stack shape : tmImplies IFF.
        Start symbol: <undetermined>. *)

  | MenhirState0324 : (('s, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0324.
        Stack shape : tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0325 : ((('s, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_RARROW, 'r) _menhir_state
    (** State 0325.
        Stack shape : tmFormula RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0327 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_PIPE_RIGHT, 'r) _menhir_state
    (** State 0327.
        Stack shape : tmEqWith(tmRefinement) PIPE_RIGHT.
        Start symbol: <undetermined>. *)

  | MenhirState0329 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_PIPE_LEFT, 'r) _menhir_state
    (** State 0329.
        Stack shape : tmEqWith(tmRefinement) PIPE_LEFT.
        Start symbol: <undetermined>. *)

  | MenhirState0331 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX2, 'r) _menhir_state
    (** State 0331.
        Stack shape : tmEqWith(tmRefinement) OPINFIX2.
        Start symbol: <undetermined>. *)

  | MenhirState0335 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX1, 'r) _menhir_state
    (** State 0335.
        Stack shape : tmEqWith(tmRefinement) OPINFIX1.
        Start symbol: <undetermined>. *)

  | MenhirState0337 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_MINUS, 'r) _menhir_state
    (** State 0337.
        Stack shape : tmEqWith(tmRefinement) MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0339 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX0d, 'r) _menhir_state
    (** State 0339.
        Stack shape : tmEqWith(tmRefinement) OPINFIX0d.
        Start symbol: <undetermined>. *)

  | MenhirState0341 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX0c, 'r) _menhir_state
    (** State 0341.
        Stack shape : tmEqWith(tmRefinement) OPINFIX0c.
        Start symbol: <undetermined>. *)

  | MenhirState0343 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX0b, 'r) _menhir_state
    (** State 0343.
        Stack shape : tmEqWith(tmRefinement) OPINFIX0b.
        Start symbol: <undetermined>. *)

  | MenhirState0345 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0345.
        Stack shape : tmEqWith(tmRefinement) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0347 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX0a, 'r) _menhir_state
    (** State 0347.
        Stack shape : tmEqWith(tmRefinement) OPINFIX0a.
        Start symbol: <undetermined>. *)

  | MenhirState0349 : (('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_COLON_EQUALS, 'r) _menhir_state
    (** State 0349.
        Stack shape : tmEqWith(tmRefinement) COLON_EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0352 : (('s, 'r) _menhir_cell1_tmEq _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0352.
        Stack shape : tmEq COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0354 : ((('s, 'r) _menhir_cell1_tmEq _menhir_cell0_COMMA, 'r) _menhir_cell1_tmEq _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0354.
        Stack shape : tmEq COMMA tmEq COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0358 : (('s, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_state
    (** State 0358.
        Stack shape : tmConjunction CONJUNCTION.
        Start symbol: <undetermined>. *)

  | MenhirState0361 : (('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0361.
        Stack shape : binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0362 : ((('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0362.
        Stack shape : binderAttributes tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0363 : (((('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_RARROW, 'r) _menhir_state
    (** State 0363.
        Stack shape : binderAttributes tmFormula RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0365 : (('s, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 0365.
        Stack shape : aqual.
        Start symbol: <undetermined>. *)

  | MenhirState0366 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0366.
        Stack shape : aqual tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0367 : (((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_RARROW, 'r) _menhir_state
    (** State 0367.
        Stack shape : aqual tmFormula RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0369 : ((('s, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_state
    (** State 0369.
        Stack shape : tmFormula DISJUNCTION.
        Start symbol: <undetermined>. *)

  | MenhirState0371 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0371.
        Stack shape : aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0372 : (((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0372.
        Stack shape : aqual binderAttributes tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0373 : ((((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_RARROW, 'r) _menhir_state
    (** State 0373.
        Stack shape : aqual binderAttributes tmFormula RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0376 : (('s, 'r) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, 'r) _menhir_state
    (** State 0376.
        Stack shape : tmArrow(tmFormula) IMPLIES.
        Start symbol: <undetermined>. *)

  | MenhirState0379 : (('s, 'r) _menhir_cell1_tmIff, 'r) _menhir_state
    (** State 0379.
        Stack shape : tmIff.
        Start symbol: <undetermined>. *)

  | MenhirState0381 : ((('s, 'r) _menhir_cell1_tmIff, 'r) _menhir_cell1_tmIff, 'r) _menhir_state
    (** State 0381.
        Stack shape : tmIff tmIff.
        Start symbol: <undetermined>. *)

  | MenhirState0385 : (('s, 'r) _menhir_cell1_tmIff, 'r) _menhir_state
    (** State 0385.
        Stack shape : tmIff.
        Start symbol: <undetermined>. *)

  | MenhirState0387 : ((('s, 'r) _menhir_cell1_tmIff, 'r) _menhir_cell1_tmIff, 'r) _menhir_state
    (** State 0387.
        Stack shape : tmIff tmIff.
        Start symbol: <undetermined>. *)

  | MenhirState0390 : ((('s, 'r) _menhir_cell1_ASSERT, 'r) _menhir_cell1_noSeqTerm, 'r) _menhir_state
    (** State 0390.
        Stack shape : ASSERT noSeqTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0393 : (('s, 'r) _menhir_cell1_matchMaybeOp, 'r) _menhir_state
    (** State 0393.
        Stack shape : matchMaybeOp.
        Start symbol: <undetermined>. *)

  | MenhirState0394 : ((('s, 'r) _menhir_cell1_matchMaybeOp, 'r) _menhir_cell1_term, 'r) _menhir_state
    (** State 0394.
        Stack shape : matchMaybeOp term.
        Start symbol: <undetermined>. *)

  | MenhirState0395 : (('s, 'r) _menhir_cell1_AS, 'r) _menhir_state
    (** State 0395.
        Stack shape : AS.
        Start symbol: <undetermined>. *)

  | MenhirState0398 : (((('s, 'r) _menhir_cell1_matchMaybeOp, 'r) _menhir_cell1_term, 'r) _menhir_cell1_option_match_returning_ _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0398.
        Stack shape : matchMaybeOp term option(match_returning) WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0400 : ((((('s, 'r) _menhir_cell1_matchMaybeOp, 'r) _menhir_cell1_term, 'r) _menhir_cell1_option_match_returning_ _menhir_cell0_WITH, 'r) _menhir_cell1_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_cell0_BAR, 'r) _menhir_state
    (** State 0400.
        Stack shape : matchMaybeOp term option(match_returning) WITH reverse_left_flexible_list(BAR,__anonymous_10) BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0404 : (('s, 'r) _menhir_cell1_option___anonymous_9_, 'r) _menhir_state
    (** State 0404.
        Stack shape : option(__anonymous_9).
        Start symbol: <undetermined>. *)

  | MenhirState0407 : (('s, 'r) _menhir_cell1_option___anonymous_8_ _menhir_cell0_RETURNS, 'r) _menhir_state
    (** State 0407.
        Stack shape : option(__anonymous_8) RETURNS.
        Start symbol: <undetermined>. *)

  | MenhirState0411 : (('s, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON_OP, 'r) _menhir_state
    (** State 0411.
        Stack shape : noSeqTerm SEMICOLON_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0414 : (('s, 'r) _menhir_cell1_lidentOrUnderscore _menhir_cell0_LONG_LEFT_ARROW, 'r) _menhir_state
    (** State 0414.
        Stack shape : lidentOrUnderscore LONG_LEFT_ARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0416 : ((('s, 'r) _menhir_cell1_lidentOrUnderscore _menhir_cell0_LONG_LEFT_ARROW, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0416.
        Stack shape : lidentOrUnderscore LONG_LEFT_ARROW noSeqTerm SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0418 : (('s, 'r) _menhir_cell1_ifMaybeOp, 'r) _menhir_state
    (** State 0418.
        Stack shape : ifMaybeOp.
        Start symbol: <undetermined>. *)

  | MenhirState0419 : ((('s, 'r) _menhir_cell1_ifMaybeOp, 'r) _menhir_cell1_noSeqTerm, 'r) _menhir_state
    (** State 0419.
        Stack shape : ifMaybeOp noSeqTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0421 : (((('s, 'r) _menhir_cell1_ifMaybeOp, 'r) _menhir_cell1_noSeqTerm, 'r) _menhir_cell1_option_match_returning_ _menhir_cell0_THEN, 'r) _menhir_state
    (** State 0421.
        Stack shape : ifMaybeOp noSeqTerm option(match_returning) THEN.
        Start symbol: <undetermined>. *)

  | MenhirState0423 : ((((('s, 'r) _menhir_cell1_ifMaybeOp, 'r) _menhir_cell1_noSeqTerm, 'r) _menhir_cell1_option_match_returning_ _menhir_cell0_THEN, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_ELSE, 'r) _menhir_state
    (** State 0423.
        Stack shape : ifMaybeOp noSeqTerm option(match_returning) THEN noSeqTerm ELSE.
        Start symbol: <undetermined>. *)

  | MenhirState0426 : (('s, 'r) _menhir_cell1_attribute _menhir_cell0_LET, 'r) _menhir_state
    (** State 0426.
        Stack shape : attribute LET.
        Start symbol: <undetermined>. *)

  | MenhirState0427 : ((('s, 'r) _menhir_cell1_attribute _menhir_cell0_LET, 'r) _menhir_cell1_localletqualifier, 'r) _menhir_state
    (** State 0427.
        Stack shape : attribute LET localletqualifier.
        Start symbol: <undetermined>. *)

  | MenhirState0429 : (('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_state
    (** State 0429.
        Stack shape : maybeFocus.
        Start symbol: <undetermined>. *)

  | MenhirState0430 : ((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0430.
        Stack shape : maybeFocus LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0432 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0432.
        Stack shape : maybeFocus LPAREN TILDE RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0433 : (('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_state
    (** State 0433.
        Stack shape : LBRACE_BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0435 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_PIPE_RIGHT, 'r) _menhir_state
    (** State 0435.
        Stack shape : tmEqWith(appTermNoRecordExp) PIPE_RIGHT.
        Start symbol: <undetermined>. *)

  | MenhirState0437 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_PIPE_LEFT, 'r) _menhir_state
    (** State 0437.
        Stack shape : tmEqWith(appTermNoRecordExp) PIPE_LEFT.
        Start symbol: <undetermined>. *)

  | MenhirState0439 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX2, 'r) _menhir_state
    (** State 0439.
        Stack shape : tmEqWith(appTermNoRecordExp) OPINFIX2.
        Start symbol: <undetermined>. *)

  | MenhirState0443 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX1, 'r) _menhir_state
    (** State 0443.
        Stack shape : tmEqWith(appTermNoRecordExp) OPINFIX1.
        Start symbol: <undetermined>. *)

  | MenhirState0445 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_MINUS, 'r) _menhir_state
    (** State 0445.
        Stack shape : tmEqWith(appTermNoRecordExp) MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0447 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX0d, 'r) _menhir_state
    (** State 0447.
        Stack shape : tmEqWith(appTermNoRecordExp) OPINFIX0d.
        Start symbol: <undetermined>. *)

  | MenhirState0449 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX0c, 'r) _menhir_state
    (** State 0449.
        Stack shape : tmEqWith(appTermNoRecordExp) OPINFIX0c.
        Start symbol: <undetermined>. *)

  | MenhirState0451 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX0b, 'r) _menhir_state
    (** State 0451.
        Stack shape : tmEqWith(appTermNoRecordExp) OPINFIX0b.
        Start symbol: <undetermined>. *)

  | MenhirState0453 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0453.
        Stack shape : tmEqWith(appTermNoRecordExp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0455 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX0a, 'r) _menhir_state
    (** State 0455.
        Stack shape : tmEqWith(appTermNoRecordExp) OPINFIX0a.
        Start symbol: <undetermined>. *)

  | MenhirState0457 : (('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_COLON_EQUALS, 'r) _menhir_state
    (** State 0457.
        Stack shape : tmEqWith(appTermNoRecordExp) COLON_EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0463 : ((('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_cell1_tc_constraint _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0463.
        Stack shape : LBRACE_BAR tc_constraint COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0465 : ((('s, 'r) _menhir_cell1_tc_constraint _menhir_cell0_COMMA, 'r) _menhir_cell1_tc_constraint _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0465.
        Stack shape : tc_constraint COMMA tc_constraint COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0467 : (('s, 'r) _menhir_cell1_simpleArrowDomain _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0467.
        Stack shape : simpleArrowDomain RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0469 : (('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0469.
        Stack shape : binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0471 : (('s, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 0471.
        Stack shape : aqual.
        Start symbol: <undetermined>. *)

  | MenhirState0473 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0473.
        Stack shape : aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0478 : (('s, 'r) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0478.
        Stack shape : lidentOrUnderscore COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0482 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0482.
        Stack shape : maybeFocus LPAREN TILDE RPAREN nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0483 : (('s, 'r) _menhir_cell1_COLON, 'r) _menhir_state
    (** State 0483.
        Stack shape : COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0484 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 0484.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0485 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 0485.
        Stack shape : LPAREN MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0488 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP, 'r) _menhir_state
    (** State 0488.
        Stack shape : LPAREN LET_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0490 : (('s, 'r) _menhir_cell1_tuplePattern, 'r) _menhir_state
    (** State 0490.
        Stack shape : tuplePattern.
        Start symbol: <undetermined>. *)

  | MenhirState0492 : ((('s, 'r) _menhir_cell1_tuplePattern, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0492.
        Stack shape : tuplePattern option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0494 : (('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_state
    (** State 0494.
        Stack shape : atomicTermNotQUident.
        Start symbol: <undetermined>. *)

  | MenhirState0495 : ((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LPAREN, 'r) _menhir_state
    (** State 0495.
        Stack shape : atomicTermNotQUident DOT_LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0497 : (((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LPAREN, 'r) _menhir_cell1_term _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0497.
        Stack shape : atomicTermNotQUident DOT_LPAREN term RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0498 : ((((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LPAREN, 'r) _menhir_cell1_term _menhir_cell0_RPAREN, 'r) _menhir_cell1_LARROW, 'r) _menhir_state
    (** State 0498.
        Stack shape : atomicTermNotQUident DOT_LPAREN term RPAREN LARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0500 : (('s, 'r) _menhir_cell1_DOT_LENS_PAREN_LEFT, 'r) _menhir_state
    (** State 0500.
        Stack shape : DOT_LENS_PAREN_LEFT.
        Start symbol: <undetermined>. *)

  | MenhirState0502 : ((('s, 'r) _menhir_cell1_DOT_LENS_PAREN_LEFT, 'r) _menhir_cell1_term _menhir_cell0_LENS_PAREN_RIGHT, 'r) _menhir_state
    (** State 0502.
        Stack shape : DOT_LENS_PAREN_LEFT term LENS_PAREN_RIGHT.
        Start symbol: <undetermined>. *)

  | MenhirState0503 : (('s, 'r) _menhir_cell1_DOT_LBRACK_BAR, 'r) _menhir_state
    (** State 0503.
        Stack shape : DOT_LBRACK_BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0505 : ((('s, 'r) _menhir_cell1_DOT_LBRACK_BAR, 'r) _menhir_cell1_term _menhir_cell0_BAR_RBRACK, 'r) _menhir_state
    (** State 0505.
        Stack shape : DOT_LBRACK_BAR term BAR_RBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0506 : (('s, 'r) _menhir_cell1_DOT_LBRACK, 'r) _menhir_state
    (** State 0506.
        Stack shape : DOT_LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0508 : ((('s, 'r) _menhir_cell1_DOT_LBRACK, 'r) _menhir_cell1_term _menhir_cell0_RBRACK, 'r) _menhir_state
    (** State 0508.
        Stack shape : DOT_LBRACK term RBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0513 : ((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LENS_PAREN_LEFT, 'r) _menhir_state
    (** State 0513.
        Stack shape : atomicTermNotQUident DOT_LENS_PAREN_LEFT.
        Start symbol: <undetermined>. *)

  | MenhirState0515 : (((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LENS_PAREN_LEFT, 'r) _menhir_cell1_term _menhir_cell0_LENS_PAREN_RIGHT, 'r) _menhir_state
    (** State 0515.
        Stack shape : atomicTermNotQUident DOT_LENS_PAREN_LEFT term LENS_PAREN_RIGHT.
        Start symbol: <undetermined>. *)

  | MenhirState0516 : ((((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LENS_PAREN_LEFT, 'r) _menhir_cell1_term _menhir_cell0_LENS_PAREN_RIGHT, 'r) _menhir_cell1_LARROW, 'r) _menhir_state
    (** State 0516.
        Stack shape : atomicTermNotQUident DOT_LENS_PAREN_LEFT term LENS_PAREN_RIGHT LARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0518 : ((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LBRACK_BAR, 'r) _menhir_state
    (** State 0518.
        Stack shape : atomicTermNotQUident DOT_LBRACK_BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0520 : (((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LBRACK_BAR, 'r) _menhir_cell1_term _menhir_cell0_BAR_RBRACK, 'r) _menhir_state
    (** State 0520.
        Stack shape : atomicTermNotQUident DOT_LBRACK_BAR term BAR_RBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0521 : ((((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LBRACK_BAR, 'r) _menhir_cell1_term _menhir_cell0_BAR_RBRACK, 'r) _menhir_cell1_LARROW, 'r) _menhir_state
    (** State 0521.
        Stack shape : atomicTermNotQUident DOT_LBRACK_BAR term BAR_RBRACK LARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0523 : ((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LBRACK, 'r) _menhir_state
    (** State 0523.
        Stack shape : atomicTermNotQUident DOT_LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0525 : (((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LBRACK, 'r) _menhir_cell1_term _menhir_cell0_RBRACK, 'r) _menhir_state
    (** State 0525.
        Stack shape : atomicTermNotQUident DOT_LBRACK term RBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState0526 : ((((('s, 'r) _menhir_cell1_atomicTermNotQUident, 'r) _menhir_cell1_DOT_LBRACK, 'r) _menhir_cell1_term _menhir_cell0_RBRACK, 'r) _menhir_cell1_LARROW, 'r) _menhir_state
    (** State 0526.
        Stack shape : atomicTermNotQUident DOT_LBRACK term RBRACK LARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0531 : ((('s, 'r) _menhir_cell1_LET_OP, 'r) _menhir_cell1_letoperatorbinding, 'r) _menhir_state
    (** State 0531.
        Stack shape : LET_OP letoperatorbinding.
        Start symbol: <undetermined>. *)

  | MenhirState0532 : ((('s, 'r) _menhir_cell1_letoperatorbinding, 'r) _menhir_cell1_AND_OP, 'r) _menhir_state
    (** State 0532.
        Stack shape : letoperatorbinding AND_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0533 : (((('s, 'r) _menhir_cell1_letoperatorbinding, 'r) _menhir_cell1_AND_OP, 'r) _menhir_cell1_letoperatorbinding, 'r) _menhir_state
    (** State 0533.
        Stack shape : letoperatorbinding AND_OP letoperatorbinding.
        Start symbol: <undetermined>. *)

  | MenhirState0536 : (((('s, 'r) _menhir_cell1_LET_OP, 'r) _menhir_cell1_letoperatorbinding, 'r) _menhir_cell1_list___anonymous_11_ _menhir_cell0_IN, 'r) _menhir_state
    (** State 0536.
        Stack shape : LET_OP letoperatorbinding list(__anonymous_11) IN.
        Start symbol: <undetermined>. *)

  | MenhirState0538 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_state
    (** State 0538.
        Stack shape : LPAREN FORALL_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0541 : ((('s, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0541.
        Stack shape : FORALL_OP binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0542 : (((('s, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_LBRACE_COLON_PATTERN, 'r) _menhir_state
    (** State 0542.
        Stack shape : FORALL_OP binders DOT LBRACE_COLON_PATTERN.
        Start symbol: <undetermined>. *)

  | MenhirState0544 : ((((('s, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_LBRACE_COLON_PATTERN, 'r) _menhir_cell1_disjunctivePats _menhir_cell0_RBRACE, 'r) _menhir_state
    (** State 0544.
        Stack shape : FORALL_OP binders DOT LBRACE_COLON_PATTERN disjunctivePats RBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0547 : (('s, 'r) _menhir_cell1_conjunctivePat _menhir_cell0_DISJUNCTION, 'r) _menhir_state
    (** State 0547.
        Stack shape : conjunctivePat DISJUNCTION.
        Start symbol: <undetermined>. *)

  | MenhirState0550 : (('s, 'r) _menhir_cell1_appTerm _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0550.
        Stack shape : appTerm SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0553 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_state
    (** State 0553.
        Stack shape : LPAREN EXISTS_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0561 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_term _menhir_cell0_hasSort, 'r) _menhir_state
    (** State 0561.
        Stack shape : LPAREN term hasSort.
        Start symbol: <undetermined>. *)

  | MenhirState0565 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0565.
        Stack shape : LPAREN binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0567 : (('s, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_OPINFIX3R, 'r) _menhir_state
    (** State 0567.
        Stack shape : tmNoEqWith(tmRefinement) OPINFIX3R.
        Start symbol: <undetermined>. *)

  | MenhirState0569 : (('s, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_BACKTICK, 'r) _menhir_state
    (** State 0569.
        Stack shape : tmNoEqWith(tmRefinement) BACKTICK.
        Start symbol: <undetermined>. *)

  | MenhirState0571 : (('s, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_OPINFIX3L, 'r) _menhir_state
    (** State 0571.
        Stack shape : tmNoEqWith(tmRefinement) OPINFIX3L.
        Start symbol: <undetermined>. *)

  | MenhirState0573 : (('s, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_COLON_COLON, 'r) _menhir_state
    (** State 0573.
        Stack shape : tmNoEqWith(tmRefinement) COLON_COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0575 : (('s, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_, 'r) _menhir_state
    (** State 0575.
        Stack shape : tmNoEqWith(tmRefinement).
        Start symbol: <undetermined>. *)

  | MenhirState0577 : ((('s, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_BACKTICK, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_BACKTICK, 'r) _menhir_state
    (** State 0577.
        Stack shape : tmNoEqWith(tmRefinement) BACKTICK tmNoEqWith(tmRefinement) BACKTICK.
        Start symbol: <undetermined>. *)

  | MenhirState0581 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmNoEq _menhir_cell0_RPAREN _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0581.
        Stack shape : LPAREN binderAttributes tmNoEq RPAREN RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0582 : (('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_state
    (** State 0582.
        Stack shape : LBRACE_BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0586 : ((('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_cell1_tmNoEq _menhir_cell0_BAR_RBRACE _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0586.
        Stack shape : LBRACE_BAR tmNoEq BAR_RBRACE RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0588 : (('s, 'r) _menhir_cell1_tmNoEq _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0588.
        Stack shape : tmNoEq RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0590 : (('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0590.
        Stack shape : binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0592 : ((('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmNoEq _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0592.
        Stack shape : binderAttributes tmNoEq RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0594 : (('s, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 0594.
        Stack shape : aqual.
        Start symbol: <undetermined>. *)

  | MenhirState0596 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_tmNoEq _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0596.
        Stack shape : aqual tmNoEq RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0598 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0598.
        Stack shape : aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0600 : (((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmNoEq _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0600.
        Stack shape : aqual binderAttributes tmNoEq RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0604 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 0604.
        Stack shape : LPAREN aqual.
        Start symbol: <undetermined>. *)

  | MenhirState0607 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_tmNoEq _menhir_cell0_RPAREN _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0607.
        Stack shape : LPAREN aqual tmNoEq RPAREN RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0609 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0609.
        Stack shape : LPAREN aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0612 : ((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmNoEq _menhir_cell0_RPAREN _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0612.
        Stack shape : LPAREN aqual binderAttributes tmNoEq RPAREN RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0615 : ((('s, 'r) _menhir_cell1_COLON, 'r) _menhir_cell1_tmArrow_tmNoEq_, 'r) _menhir_state
    (** State 0615.
        Stack shape : COLON tmArrow(tmNoEq).
        Start symbol: <undetermined>. *)

  | MenhirState0622 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0622.
        Stack shape : maybeFocus LPAREN TILDE RPAREN nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0624 : (('s, 'r) _menhir_cell1_genBinder, 'r) _menhir_state
    (** State 0624.
        Stack shape : genBinder.
        Start symbol: <undetermined>. *)

  | MenhirState0628 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0628.
        Stack shape : maybeFocus LPAREN OPPREFIX RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0629 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0629.
        Stack shape : maybeFocus LPAREN OPPREFIX RPAREN nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0631 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0631.
        Stack shape : maybeFocus LPAREN OPPREFIX RPAREN nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0633 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 0633.
        Stack shape : maybeFocus LPAREN MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0634 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_cell1_RPAREN, 'r) _menhir_state
    (** State 0634.
        Stack shape : maybeFocus LPAREN MINUS RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0635 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_cell1_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0635.
        Stack shape : maybeFocus LPAREN MINUS RPAREN nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0637 : ((((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_cell1_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0637.
        Stack shape : maybeFocus LPAREN MINUS RPAREN nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0640 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0640.
        Stack shape : maybeFocus LPAREN LET_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0641 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0641.
        Stack shape : maybeFocus LPAREN LET_OP RPAREN nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0643 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0643.
        Stack shape : maybeFocus LPAREN LET_OP RPAREN nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0646 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0646.
        Stack shape : maybeFocus LPAREN FORALL_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0647 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0647.
        Stack shape : maybeFocus LPAREN FORALL_OP RPAREN nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0649 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0649.
        Stack shape : maybeFocus LPAREN FORALL_OP RPAREN nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0652 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0652.
        Stack shape : maybeFocus LPAREN EXISTS_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0653 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0653.
        Stack shape : maybeFocus LPAREN EXISTS_OP RPAREN nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0655 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0655.
        Stack shape : maybeFocus LPAREN EXISTS_OP RPAREN nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0658 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0658.
        Stack shape : maybeFocus LPAREN AND_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0659 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0659.
        Stack shape : maybeFocus LPAREN AND_OP RPAREN nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0661 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0661.
        Stack shape : maybeFocus LPAREN AND_OP RPAREN nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0665 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_tuplePattern _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0665.
        Stack shape : LPAREN tuplePattern COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0666 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_tuplePattern _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_state
    (** State 0666.
        Stack shape : LPAREN tuplePattern COLON simpleArrow.
        Start symbol: <undetermined>. *)

  | MenhirState0671 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0671.
        Stack shape : maybeFocus LPAREN binop_name RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0672 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0672.
        Stack shape : maybeFocus LPAREN binop_name RPAREN nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0674 : (((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0674.
        Stack shape : maybeFocus LPAREN binop_name RPAREN nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0676 : ((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_tuplePattern, 'r) _menhir_state
    (** State 0676.
        Stack shape : maybeFocus tuplePattern.
        Start symbol: <undetermined>. *)

  | MenhirState0677 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_tuplePattern, 'r) _menhir_cell1_EQUALS, 'r) _menhir_state
    (** State 0677.
        Stack shape : maybeFocus tuplePattern EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0680 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_tuplePattern, 'r) _menhir_cell1_ascribeTyp _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0680.
        Stack shape : maybeFocus tuplePattern ascribeTyp EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0682 : ((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_lident, 'r) _menhir_state
    (** State 0682.
        Stack shape : maybeFocus lident.
        Start symbol: <undetermined>. *)

  | MenhirState0683 : (((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_lident, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_state
    (** State 0683.
        Stack shape : maybeFocus lident nonempty_list(genBinder).
        Start symbol: <undetermined>. *)

  | MenhirState0685 : ((((('s, 'r) _menhir_cell1_maybeFocus, 'r) _menhir_cell1_lident, 'r) _menhir_cell1_nonempty_list_genBinder_, 'r) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 0685.
        Stack shape : maybeFocus lident nonempty_list(genBinder) option(ascribeTyp) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState0687 : (((('s, 'r) _menhir_cell1_attribute _menhir_cell0_LET, 'r) _menhir_cell1_localletqualifier, 'r) _menhir_cell1_letbinding, 'r) _menhir_state
    (** State 0687.
        Stack shape : attribute LET localletqualifier letbinding.
        Start symbol: <undetermined>. *)

  | MenhirState0688 : (('s, 'r) _menhir_cell1_AND, 'r) _menhir_state
    (** State 0688.
        Stack shape : AND.
        Start symbol: <undetermined>. *)

  | MenhirState0692 : ((((('s, 'r) _menhir_cell1_attribute _menhir_cell0_LET, 'r) _menhir_cell1_localletqualifier, 'r) _menhir_cell1_letbinding, 'r) _menhir_cell1_list_attr_letbinding_ _menhir_cell0_IN, 'r) _menhir_state
    (** State 0692.
        Stack shape : attribute LET localletqualifier letbinding list(attr_letbinding) IN.
        Start symbol: <undetermined>. *)

  | MenhirState0695 : (('s, 'r) _menhir_cell1_attribute _menhir_cell0_AND, 'r) _menhir_state
    (** State 0695.
        Stack shape : attribute AND.
        Start symbol: <undetermined>. *)

  | MenhirState0697 : (('s, 'r) _menhir_cell1_attr_letbinding, 'r) _menhir_state
    (** State 0697.
        Stack shape : attr_letbinding.
        Start symbol: <undetermined>. *)

  | MenhirState0699 : (('s, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0699.
        Stack shape : noSeqTerm SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0703 : (((('s, 'r) _menhir_cell1_CALC, 'r) _menhir_cell1_atomicTerm _menhir_cell0_LBRACE, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0703.
        Stack shape : CALC atomicTerm LBRACE noSeqTerm SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0704 : (('s, 'r) _menhir_cell1_BACKTICK, 'r) _menhir_state
    (** State 0704.
        Stack shape : BACKTICK.
        Start symbol: <undetermined>. *)

  | MenhirState0709 : (('s, 'r) _menhir_cell1_calcStep, 'r) _menhir_state
    (** State 0709.
        Stack shape : calcStep.
        Start symbol: <undetermined>. *)

  | MenhirState0712 : (('s, 'r) _menhir_cell1_calcRel _menhir_cell0_LBRACE, 'r) _menhir_state
    (** State 0712.
        Stack shape : calcRel LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0715 : ((('s, 'r) _menhir_cell1_calcRel _menhir_cell0_LBRACE, 'r) _menhir_cell1_option_term_ _menhir_cell0_RBRACE, 'r) _menhir_state
    (** State 0715.
        Stack shape : calcRel LBRACE option(term) RBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0726 : ((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_FORALL, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0726.
        Stack shape : ELIM FORALL binders DOT noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0728 : (('s, 'r) _menhir_cell1_atomicTerm, 'r) _menhir_state
    (** State 0728.
        Stack shape : atomicTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0730 : ((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_EXISTS, 'r) _menhir_state
    (** State 0730.
        Stack shape : ELIM EXISTS.
        Start symbol: <undetermined>. *)

  | MenhirState0732 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0732.
        Stack shape : ELIM EXISTS binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0735 : ((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_RETURNS, 'r) _menhir_state
    (** State 0735.
        Stack shape : ELIM EXISTS binders DOT noSeqTerm RETURNS.
        Start symbol: <undetermined>. *)

  | MenhirState0737 : (((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_RETURNS, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0737.
        Stack shape : ELIM EXISTS binders DOT noSeqTerm RETURNS noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0739 : ((((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_RETURNS, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_cell1_singleBinder _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0739.
        Stack shape : ELIM EXISTS binders DOT noSeqTerm RETURNS noSeqTerm WITH singleBinder DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0742 : ((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0742.
        Stack shape : ELIM tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0743 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_state
    (** State 0743.
        Stack shape : ELIM tmFormula DISJUNCTION.
        Start symbol: <undetermined>. *)

  | MenhirState0745 : ((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, 'r) _menhir_state
    (** State 0745.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS.
        Start symbol: <undetermined>. *)

  | MenhirState0747 : (((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0747.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0749 : ((((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_cell1_singleBinder _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0749.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH singleBinder DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0751 : (((((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_cell1_singleBinder _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_AND, 'r) _menhir_state
    (** State 0751.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH singleBinder DOT noSeqTerm AND.
        Start symbol: <undetermined>. *)

  | MenhirState0753 : ((((((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_cell1_singleBinder _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_AND, 'r) _menhir_cell1_singleBinder _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0753.
        Stack shape : ELIM tmFormula DISJUNCTION tmConjunction RETURNS noSeqTerm WITH singleBinder DOT noSeqTerm AND singleBinder DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0756 : ((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_state
    (** State 0756.
        Stack shape : ELIM tmConjunction CONJUNCTION.
        Start symbol: <undetermined>. *)

  | MenhirState0758 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_cell1_tmTuple _menhir_cell0_RETURNS, 'r) _menhir_state
    (** State 0758.
        Stack shape : ELIM tmConjunction CONJUNCTION tmTuple RETURNS.
        Start symbol: <undetermined>. *)

  | MenhirState0760 : ((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_cell1_tmTuple _menhir_cell0_RETURNS, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0760.
        Stack shape : ELIM tmConjunction CONJUNCTION tmTuple RETURNS noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0762 : (((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_cell1_tmTuple _menhir_cell0_RETURNS, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0762.
        Stack shape : ELIM tmConjunction CONJUNCTION tmTuple RETURNS noSeqTerm WITH binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0765 : ((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, 'r) _menhir_state
    (** State 0765.
        Stack shape : ELIM tmArrow(tmFormula) IMPLIES.
        Start symbol: <undetermined>. *)

  | MenhirState0766 : (((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0766.
        Stack shape : ELIM tmArrow(tmFormula) IMPLIES tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0767 : ((((('s, 'r) _menhir_cell1_ELIM, 'r) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_WITH, 'r) _menhir_state
    (** State 0767.
        Stack shape : ELIM tmArrow(tmFormula) IMPLIES tmFormula WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0779 : ((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_recordExp _menhir_cell0_RBRACE, 'r) _menhir_state
    (** State 0779.
        Stack shape : LBRACE recordExp RBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0780 : (('s, 'r) _menhir_cell1_HASH, 'r) _menhir_state
    (** State 0780.
        Stack shape : HASH.
        Start symbol: <undetermined>. *)

  | MenhirState0781 : ((('s, 'r) _menhir_cell1_HASH, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 0781.
        Stack shape : HASH LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0783 : (((('s, 'r) _menhir_cell1_HASH, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_recordExp _menhir_cell0_RBRACE, 'r) _menhir_state
    (** State 0783.
        Stack shape : HASH LBRACE recordExp RBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0784 : (('s, 'r) _menhir_cell1_universe, 'r) _menhir_state
    (** State 0784.
        Stack shape : universe.
        Start symbol: <undetermined>. *)

  | MenhirState0786 : (('s, 'r) _menhir_cell1_indexingTerm, 'r) _menhir_state
    (** State 0786.
        Stack shape : indexingTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0792 : ((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_appTerm _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0792.
        Stack shape : LBRACE appTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0795 : ((('s, 'r) _menhir_cell1_HASH, 'r) _menhir_cell1_indexingTerm, 'r) _menhir_state
    (** State 0795.
        Stack shape : HASH indexingTerm.
        Start symbol: <undetermined>. *)

  | MenhirState0800 : ((((('s, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_LBRACE_COLON_PATTERN, 'r) _menhir_cell1_disjunctivePats _menhir_cell0_RBRACE, 'r) _menhir_state
    (** State 0800.
        Stack shape : EXISTS binders DOT LBRACE_COLON_PATTERN disjunctivePats RBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0803 : ((((('s, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_LBRACE_COLON_PATTERN, 'r) _menhir_cell1_disjunctivePats _menhir_cell0_RBRACE, 'r) _menhir_state
    (** State 0803.
        Stack shape : EXISTS_OP binders DOT LBRACE_COLON_PATTERN disjunctivePats RBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState0806 : (((('s, 'r) _menhir_cell1_disjunctivePattern, 'r) _menhir_cell1_WHEN, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0806.
        Stack shape : disjunctivePattern WHEN tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0809 : ((((('s, 'r) _menhir_cell1_disjunctivePattern, 'r) _menhir_cell1_WHEN, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_maybeFocusArrow, 'r) _menhir_state
    (** State 0809.
        Stack shape : disjunctivePattern WHEN tmFormula maybeFocusArrow.
        Start symbol: <undetermined>. *)

  | MenhirState0811 : ((('s, 'r) _menhir_cell1_disjunctivePattern, 'r) _menhir_cell1_maybeFocusArrow, 'r) _menhir_state
    (** State 0811.
        Stack shape : disjunctivePattern maybeFocusArrow.
        Start symbol: <undetermined>. *)

  | MenhirState0814 : (('s, 'r) _menhir_cell1_reverse_left_flexible_nonempty_list_BAR_patternBranch_ _menhir_cell0_BAR, 'r) _menhir_state
    (** State 0814.
        Stack shape : reverse_left_flexible_nonempty_list(BAR,patternBranch) BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0818 : ((('s, 'r) _menhir_cell1_DOT_LPAREN, 'r) _menhir_cell1_term _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 0818.
        Stack shape : DOT_LPAREN term RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState0823 : (('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX3R, 'r) _menhir_state
    (** State 0823.
        Stack shape : tmNoEqWith(appTermNoRecordExp) OPINFIX3R.
        Start symbol: <undetermined>. *)

  | MenhirState0825 : (('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_BACKTICK, 'r) _menhir_state
    (** State 0825.
        Stack shape : tmNoEqWith(appTermNoRecordExp) BACKTICK.
        Start symbol: <undetermined>. *)

  | MenhirState0827 : (('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX3L, 'r) _menhir_state
    (** State 0827.
        Stack shape : tmNoEqWith(appTermNoRecordExp) OPINFIX3L.
        Start symbol: <undetermined>. *)

  | MenhirState0829 : (('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_COLON_COLON, 'r) _menhir_state
    (** State 0829.
        Stack shape : tmNoEqWith(appTermNoRecordExp) COLON_COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0831 : (('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_, 'r) _menhir_state
    (** State 0831.
        Stack shape : tmNoEqWith(appTermNoRecordExp).
        Start symbol: <undetermined>. *)

  | MenhirState0833 : ((('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_BACKTICK, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_BACKTICK, 'r) _menhir_state
    (** State 0833.
        Stack shape : tmNoEqWith(appTermNoRecordExp) BACKTICK tmNoEqWith(appTermNoRecordExp) BACKTICK.
        Start symbol: <undetermined>. *)

  | MenhirState0841 : ((('s, 'r) _menhir_cell1_FORALL, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0841.
        Stack shape : FORALL binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0846 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_state
    (** State 0846.
        Stack shape : LPAREN nonempty_list(aqualifiedWithAttrs(lidentOrUnderscore)) COLON simpleArrow.
        Start symbol: <undetermined>. *)

  | MenhirState0847 : ((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_cell1_refineOpt, 'r) _menhir_state
    (** State 0847.
        Stack shape : LPAREN nonempty_list(aqualifiedWithAttrs(lidentOrUnderscore)) COLON simpleArrow refineOpt.
        Start symbol: <undetermined>. *)

  | MenhirState0848 : ((((('s, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_cell1_refineOpt, 'r) _menhir_cell1_BAR, 'r) _menhir_state
    (** State 0848.
        Stack shape : nonempty_list(aqualifiedWithAttrs(lidentOrUnderscore)) COLON simpleArrow refineOpt BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0850 : (('s, 'r) _menhir_cell1_tmEqNoRefinement _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0850.
        Stack shape : tmEqNoRefinement COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0852 : ((('s, 'r) _menhir_cell1_tmEqNoRefinement _menhir_cell0_COMMA, 'r) _menhir_cell1_tmEqNoRefinement _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0852.
        Stack shape : tmEqNoRefinement COMMA tmEqNoRefinement COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0858 : (('s, 'r) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_, 'r) _menhir_state
    (** State 0858.
        Stack shape : aqualifiedWithAttrs(lidentOrUnderscore).
        Start symbol: <undetermined>. *)

  | MenhirState0860 : ((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_FORALL, 'r) _menhir_state
    (** State 0860.
        Stack shape : INTRO FORALL.
        Start symbol: <undetermined>. *)

  | MenhirState0862 : (((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_FORALL, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0862.
        Stack shape : INTRO FORALL binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0864 : ((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_FORALL, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0864.
        Stack shape : INTRO FORALL binders DOT noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0866 : ((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_EXISTS, 'r) _menhir_state
    (** State 0866.
        Stack shape : INTRO EXISTS.
        Start symbol: <undetermined>. *)

  | MenhirState0868 : (((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0868.
        Stack shape : INTRO EXISTS binders DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0870 : ((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0870.
        Stack shape : INTRO EXISTS binders DOT noSeqTerm WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0872 : (((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_EXISTS, 'r) _menhir_cell1_binders _menhir_cell0_DOT, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, 'r) _menhir_cell1_list_atomicTerm_ _menhir_cell0_AND, 'r) _menhir_state
    (** State 0872.
        Stack shape : INTRO EXISTS binders DOT noSeqTerm WITH list(atomicTerm) AND.
        Start symbol: <undetermined>. *)

  | MenhirState0874 : ((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0874.
        Stack shape : INTRO tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0875 : (((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_state
    (** State 0875.
        Stack shape : INTRO tmFormula DISJUNCTION.
        Start symbol: <undetermined>. *)

  | MenhirState0878 : ((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_DISJUNCTION, 'r) _menhir_cell1_tmConjunction _menhir_cell0_WITH _menhir_cell0_NAME, 'r) _menhir_state
    (** State 0878.
        Stack shape : INTRO tmFormula DISJUNCTION tmConjunction WITH NAME.
        Start symbol: <undetermined>. *)

  | MenhirState0881 : ((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_state
    (** State 0881.
        Stack shape : INTRO tmConjunction CONJUNCTION.
        Start symbol: <undetermined>. *)

  | MenhirState0883 : (((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_cell1_tmTuple _menhir_cell0_WITH, 'r) _menhir_state
    (** State 0883.
        Stack shape : INTRO tmConjunction CONJUNCTION tmTuple WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0885 : ((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, 'r) _menhir_cell1_tmTuple _menhir_cell0_WITH, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_AND, 'r) _menhir_state
    (** State 0885.
        Stack shape : INTRO tmConjunction CONJUNCTION tmTuple WITH noSeqTerm AND.
        Start symbol: <undetermined>. *)

  | MenhirState0888 : ((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, 'r) _menhir_state
    (** State 0888.
        Stack shape : INTRO tmArrow(tmFormula) IMPLIES.
        Start symbol: <undetermined>. *)

  | MenhirState0889 : (((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0889.
        Stack shape : INTRO tmArrow(tmFormula) IMPLIES tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0890 : ((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_WITH, 'r) _menhir_state
    (** State 0890.
        Stack shape : INTRO tmArrow(tmFormula) IMPLIES tmFormula WITH.
        Start symbol: <undetermined>. *)

  | MenhirState0892 : (((((('s, 'r) _menhir_cell1_INTRO, 'r) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_WITH, 'r) _menhir_cell1_singleBinder _menhir_cell0_DOT, 'r) _menhir_state
    (** State 0892.
        Stack shape : INTRO tmArrow(tmFormula) IMPLIES tmFormula WITH singleBinder DOT.
        Start symbol: <undetermined>. *)

  | MenhirState0897 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_state
    (** State 0897.
        Stack shape : LBRACE LPAREN OPPREFIX.
        Start symbol: <undetermined>. *)

  | MenhirState0901 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 0901.
        Stack shape : LBRACE LPAREN MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState0903 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP, 'r) _menhir_state
    (** State 0903.
        Stack shape : LBRACE LPAREN LET_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0905 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_state
    (** State 0905.
        Stack shape : LBRACE LPAREN FORALL_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0907 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_state
    (** State 0907.
        Stack shape : LBRACE LPAREN EXISTS_OP.
        Start symbol: <undetermined>. *)

  | MenhirState0915 : ((('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0915.
        Stack shape : LBRACE_BAR tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0917 : (((('s, 'r) _menhir_cell1_LBRACE_BAR, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_BAR_RBRACE _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0917.
        Stack shape : LBRACE_BAR tmFormula BAR_RBRACE RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0924 : (('s, 'r) _menhir_cell1_fieldPattern _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0924.
        Stack shape : fieldPattern SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0927 : (('s, 'r) _menhir_cell1_tuplePattern _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0927.
        Stack shape : tuplePattern SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0939 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_tuplePattern _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0939.
        Stack shape : LPAREN tuplePattern COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0940 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_tuplePattern _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_state
    (** State 0940.
        Stack shape : LPAREN tuplePattern COLON simpleArrow.
        Start symbol: <undetermined>. *)

  | MenhirState0942 : ((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_tuplePattern _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_cell1_refineOpt _menhir_cell0_BAR, 'r) _menhir_state
    (** State 0942.
        Stack shape : LPAREN tuplePattern COLON simpleArrow refineOpt BAR.
        Start symbol: <undetermined>. *)

  | MenhirState0947 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0947.
        Stack shape : LPAREN binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0949 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_, 'r) _menhir_state
    (** State 0949.
        Stack shape : LPAREN aqualifiedWithAttrs(lidentOrUnderscore).
        Start symbol: <undetermined>. *)

  | MenhirState0951 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, 'r) _menhir_state
    (** State 0951.
        Stack shape : LPAREN aqualifiedWithAttrs(lidentOrUnderscore) nonempty_list(aqualifiedWithAttrs(lidentOrUnderscore)) COLON.
        Start symbol: <undetermined>. *)

  | MenhirState0952 : ((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_state
    (** State 0952.
        Stack shape : LPAREN aqualifiedWithAttrs(lidentOrUnderscore) nonempty_list(aqualifiedWithAttrs(lidentOrUnderscore)) COLON simpleArrow.
        Start symbol: <undetermined>. *)

  | MenhirState0953 : (((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, 'r) _menhir_cell1_simpleArrow, 'r) _menhir_cell1_refineOpt, 'r) _menhir_state
    (** State 0953.
        Stack shape : LPAREN aqualifiedWithAttrs(lidentOrUnderscore) nonempty_list(aqualifiedWithAttrs(lidentOrUnderscore)) COLON simpleArrow refineOpt.
        Start symbol: <undetermined>. *)

  | MenhirState0956 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 0956.
        Stack shape : LPAREN aqual.
        Start symbol: <undetermined>. *)

  | MenhirState0958 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0958.
        Stack shape : LPAREN aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0961 : ((('s, 'r) _menhir_cell1_FUN, 'r) _menhir_cell1_nonempty_list_genBinder_ _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0961.
        Stack shape : FUN nonempty_list(genBinder) RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0966 : (('s, 'r) _menhir_cell1_appTerm _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0966.
        Stack shape : appTerm COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0971 : (((('s, 'r) _menhir_cell1_LET, 'r) _menhir_cell1_OPEN, 'r) _menhir_cell1_term _menhir_cell0_IN, 'r) _menhir_state
    (** State 0971.
        Stack shape : LET OPEN term IN.
        Start symbol: <undetermined>. *)

  | MenhirState0973 : ((('s, 'r) _menhir_cell1_LET, 'r) _menhir_cell1_localletqualifier, 'r) _menhir_state
    (** State 0973.
        Stack shape : LET localletqualifier.
        Start symbol: <undetermined>. *)

  | MenhirState0974 : (((('s, 'r) _menhir_cell1_LET, 'r) _menhir_cell1_localletqualifier, 'r) _menhir_cell1_letbinding, 'r) _menhir_state
    (** State 0974.
        Stack shape : LET localletqualifier letbinding.
        Start symbol: <undetermined>. *)

  | MenhirState0976 : ((((('s, 'r) _menhir_cell1_LET, 'r) _menhir_cell1_localletqualifier, 'r) _menhir_cell1_letbinding, 'r) _menhir_cell1_list_attr_letbinding_ _menhir_cell0_IN, 'r) _menhir_state
    (** State 0976.
        Stack shape : LET localletqualifier letbinding list(attr_letbinding) IN.
        Start symbol: <undetermined>. *)

  | MenhirState0981 : (('s, 'r) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 0981.
        Stack shape : noSeqTerm SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState0984 : ((('s, 'r) _menhir_cell1_LENS_PAREN_LEFT, 'r) _menhir_cell1_constructorPattern _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 0984.
        Stack shape : LENS_PAREN_LEFT constructorPattern COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState0989 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0989.
        Stack shape : LPAREN binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState0990 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0990.
        Stack shape : LPAREN binderAttributes tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0992 : ((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_RPAREN _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0992.
        Stack shape : LPAREN binderAttributes tmFormula RPAREN RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0994 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 0994.
        Stack shape : LPAREN aqual.
        Start symbol: <undetermined>. *)

  | MenhirState0995 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 0995.
        Stack shape : LPAREN aqual tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState0997 : ((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_RPAREN _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 0997.
        Stack shape : LPAREN aqual tmFormula RPAREN RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState0999 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 0999.
        Stack shape : LPAREN aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState1000 : ((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmFormula, 'r) _menhir_state
    (** State 1000.
        Stack shape : LPAREN aqual binderAttributes tmFormula.
        Start symbol: <undetermined>. *)

  | MenhirState1002 : (((((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_tmFormula, 'r) _menhir_cell1_RPAREN _menhir_cell0_RARROW, 'r) _menhir_state
    (** State 1002.
        Stack shape : LPAREN aqual binderAttributes tmFormula RPAREN RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState1009 : ((('s, 'r) _menhir_cell1_LENS_PAREN_LEFT, 'r) _menhir_cell1_tmEq _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1009.
        Stack shape : LENS_PAREN_LEFT tmEq COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1011 : ((('s, 'r) _menhir_cell1_tmEq _menhir_cell0_COMMA, 'r) _menhir_cell1_tmEq _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1011.
        Stack shape : tmEq COMMA tmEq COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1020 : ((('s, 'r) _menhir_cell1_TRY, 'r) _menhir_cell1_term _menhir_cell0_WITH, 'r) _menhir_state
    (** State 1020.
        Stack shape : TRY term WITH.
        Start symbol: <undetermined>. *)

  | MenhirState1031 : (('s, 'r) _menhir_cell1_ASSUME, 'r) _menhir_state
    (** State 1031.
        Stack shape : ASSUME.
        Start symbol: <undetermined>. *)

  | MenhirState1033 : ((('s, 'r) _menhir_cell1_ASSUME, 'r) _menhir_cell1_uident _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1033.
        Stack shape : ASSUME uident COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1037 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_state
    (** State 1037.
        Stack shape : list(decoration) VAL.
        Start symbol: <undetermined>. *)

  | MenhirState1038 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1038.
        Stack shape : list(decoration) VAL LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1040 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1040.
        Stack shape : list(decoration) VAL LPAREN TILDE RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1042 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1042.
        Stack shape : list(decoration) VAL LPAREN TILDE RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1045 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1045.
        Stack shape : list(decoration) VAL LPAREN OPPREFIX RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1047 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1047.
        Stack shape : list(decoration) VAL LPAREN OPPREFIX RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1050 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1050.
        Stack shape : list(decoration) VAL LPAREN MINUS RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1052 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1052.
        Stack shape : list(decoration) VAL LPAREN MINUS RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1055 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1055.
        Stack shape : list(decoration) VAL LPAREN LET_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1057 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1057.
        Stack shape : list(decoration) VAL LPAREN LET_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1060 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1060.
        Stack shape : list(decoration) VAL LPAREN FORALL_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1062 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1062.
        Stack shape : list(decoration) VAL LPAREN FORALL_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1065 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1065.
        Stack shape : list(decoration) VAL LPAREN EXISTS_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1067 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1067.
        Stack shape : list(decoration) VAL LPAREN EXISTS_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1070 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1070.
        Stack shape : list(decoration) VAL LPAREN AND_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1072 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1072.
        Stack shape : list(decoration) VAL LPAREN AND_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1075 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1075.
        Stack shape : list(decoration) VAL LPAREN binop_name RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1077 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1077.
        Stack shape : list(decoration) VAL LPAREN binop_name RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1079 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_lident, 'r) _menhir_state
    (** State 1079.
        Stack shape : list(decoration) VAL lident.
        Start symbol: <undetermined>. *)

  | MenhirState1081 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, 'r) _menhir_cell1_lident, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1081.
        Stack shape : list(decoration) VAL lident binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1084 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_TYPE, 'r) _menhir_state
    (** State 1084.
        Stack shape : list(decoration) TYPE.
        Start symbol: <undetermined>. *)

  | MenhirState1086 : (('s, 'r) _menhir_cell1_typeDecl _menhir_cell0_AND, 'r) _menhir_state
    (** State 1086.
        Stack shape : typeDecl AND.
        Start symbol: <undetermined>. *)

  | MenhirState1089 : (('s, 'r) _menhir_cell1_ident, 'r) _menhir_state
    (** State 1089.
        Stack shape : ident.
        Start symbol: <undetermined>. *)

  | MenhirState1091 : ((('s, 'r) _menhir_cell1_ident, 'r) _menhir_cell1_typars _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1091.
        Stack shape : ident typars COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1095 : ((('s, 'r) _menhir_cell1_ident, 'r) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1095.
        Stack shape : ident typars option(ascribeKind) EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1096 : (((('s, 'r) _menhir_cell1_ident, 'r) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 1096.
        Stack shape : ident typars option(ascribeKind) EQUALS LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState1097 : ((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1097.
        Stack shape : LBRACE LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1098 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE, 'r) _menhir_state
    (** State 1098.
        Stack shape : LBRACE LPAREN TILDE.
        Start symbol: <undetermined>. *)

  | MenhirState1100 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_state
    (** State 1100.
        Stack shape : LBRACE LPAREN OPPREFIX.
        Start symbol: <undetermined>. *)

  | MenhirState1102 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 1102.
        Stack shape : LBRACE LPAREN MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState1104 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP, 'r) _menhir_state
    (** State 1104.
        Stack shape : LBRACE LPAREN LET_OP.
        Start symbol: <undetermined>. *)

  | MenhirState1106 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_state
    (** State 1106.
        Stack shape : LBRACE LPAREN FORALL_OP.
        Start symbol: <undetermined>. *)

  | MenhirState1108 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_state
    (** State 1108.
        Stack shape : LBRACE LPAREN EXISTS_OP.
        Start symbol: <undetermined>. *)

  | MenhirState1117 : ((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_recordFieldDecl _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 1117.
        Stack shape : LBRACE recordFieldDecl SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState1118 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1118.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1119 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE, 'r) _menhir_state
    (** State 1119.
        Stack shape : LPAREN TILDE.
        Start symbol: <undetermined>. *)

  | MenhirState1121 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX, 'r) _menhir_state
    (** State 1121.
        Stack shape : LPAREN OPPREFIX.
        Start symbol: <undetermined>. *)

  | MenhirState1123 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS, 'r) _menhir_state
    (** State 1123.
        Stack shape : LPAREN MINUS.
        Start symbol: <undetermined>. *)

  | MenhirState1125 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP, 'r) _menhir_state
    (** State 1125.
        Stack shape : LPAREN LET_OP.
        Start symbol: <undetermined>. *)

  | MenhirState1127 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP, 'r) _menhir_state
    (** State 1127.
        Stack shape : LPAREN FORALL_OP.
        Start symbol: <undetermined>. *)

  | MenhirState1129 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP, 'r) _menhir_state
    (** State 1129.
        Stack shape : LPAREN EXISTS_OP.
        Start symbol: <undetermined>. *)

  | MenhirState1137 : ((('s, 'r) _menhir_cell1_recordFieldDecl _menhir_cell0_SEMICOLON, 'r) _menhir_cell1_recordFieldDecl _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 1137.
        Stack shape : recordFieldDecl SEMICOLON recordFieldDecl SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState1140 : (('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 1140.
        Stack shape : binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState1141 : ((('s, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1141.
        Stack shape : binderAttributes LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1160 : (('s, 'r) _menhir_cell1_aqualifiedWithAttrs_lidentOrOperator_ _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1160.
        Stack shape : aqualifiedWithAttrs(lidentOrOperator) COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1162 : (('s, 'r) _menhir_cell1_aqual, 'r) _menhir_state
    (** State 1162.
        Stack shape : aqual.
        Start symbol: <undetermined>. *)

  | MenhirState1163 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1163.
        Stack shape : aqual LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1181 : ((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 1181.
        Stack shape : aqual binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState1182 : (((('s, 'r) _menhir_cell1_aqual, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1182.
        Stack shape : aqual binderAttributes LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1201 : (('s, 'r) _menhir_cell1_BAR, 'r) _menhir_state
    (** State 1201.
        Stack shape : BAR.
        Start symbol: <undetermined>. *)

  | MenhirState1202 : ((('s, 'r) _menhir_cell1_BAR, 'r) _menhir_cell1_uident, 'r) _menhir_state
    (** State 1202.
        Stack shape : BAR uident.
        Start symbol: <undetermined>. *)

  | MenhirState1203 : ((('s, 'r) _menhir_cell1_uident, 'r) _menhir_cell1_OF, 'r) _menhir_state
    (** State 1203.
        Stack shape : uident OF.
        Start symbol: <undetermined>. *)

  | MenhirState1205 : ((('s, 'r) _menhir_cell1_uident, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 1205.
        Stack shape : uident LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState1208 : (((('s, 'r) _menhir_cell1_uident, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ _menhir_cell0_RBRACE _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1208.
        Stack shape : uident LBRACE right_flexible_nonempty_list(SEMICOLON,recordFieldDecl) RBRACE COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1211 : ((('s, 'r) _menhir_cell1_uident, 'r) _menhir_cell1_COLON, 'r) _menhir_state
    (** State 1211.
        Stack shape : uident COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1215 : ((('s, 'r) _menhir_cell1_BAR, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 1215.
        Stack shape : BAR binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState1216 : (((('s, 'r) _menhir_cell1_BAR, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_uident, 'r) _menhir_state
    (** State 1216.
        Stack shape : BAR binderAttributes uident.
        Start symbol: <undetermined>. *)

  | MenhirState1220 : (('s, 'r) _menhir_cell1_constructorDecl, 'r) _menhir_state
    (** State 1220.
        Stack shape : constructorDecl.
        Start symbol: <undetermined>. *)

  | MenhirState1222 : (((('s, 'r) _menhir_cell1_ident, 'r) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_state
    (** State 1222.
        Stack shape : ident typars option(ascribeKind) EQUALS binderAttributes.
        Start symbol: <undetermined>. *)

  | MenhirState1223 : ((((('s, 'r) _menhir_cell1_ident, 'r) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS, 'r) _menhir_cell1_binderAttributes, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 1223.
        Stack shape : ident typars option(ascribeKind) EQUALS binderAttributes LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState1230 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, 'r) _menhir_state
    (** State 1230.
        Stack shape : list(decoration) SUB_EFFECT.
        Start symbol: <undetermined>. *)

  | MenhirState1233 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, 'r) _menhir_cell1_quident _menhir_cell0_SQUIGGLY_RARROW, 'r) _menhir_state
    (** State 1233.
        Stack shape : list(decoration) SUB_EFFECT quident SQUIGGLY_RARROW.
        Start symbol: <undetermined>. *)

  | MenhirState1237 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, 'r) _menhir_cell1_quident _menhir_cell0_SQUIGGLY_RARROW, 'r) _menhir_cell1_quident _menhir_cell0_LBRACE _menhir_cell0_IDENT _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1237.
        Stack shape : list(decoration) SUB_EFFECT quident SQUIGGLY_RARROW quident LBRACE IDENT EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1241 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, 'r) _menhir_cell1_quident _menhir_cell0_SQUIGGLY_RARROW, 'r) _menhir_cell1_quident _menhir_cell0_LBRACE _menhir_cell0_IDENT _menhir_cell0_EQUALS, 'r) _menhir_cell1_tmIff _menhir_cell0_SEMICOLON _menhir_cell0_IDENT _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1241.
        Stack shape : list(decoration) SUB_EFFECT quident SQUIGGLY_RARROW quident LBRACE IDENT EQUALS tmIff SEMICOLON IDENT EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1245 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, 'r) _menhir_cell1_quident _menhir_cell0_SQUIGGLY_RARROW, 'r) _menhir_cell1_quident _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1245.
        Stack shape : list(decoration) SUB_EFFECT quident SQUIGGLY_RARROW quident EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1248 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICET _menhir_cell0_LBRACK, 'r) _menhir_state
    (** State 1248.
        Stack shape : list(decoration) SPLICET LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState1250 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICET _menhir_cell0_LBRACK, 'r) _menhir_cell1_right_flexible_list_SEMICOLON_ident_ _menhir_cell0_RBRACK, 'r) _menhir_state
    (** State 1250.
        Stack shape : list(decoration) SPLICET LBRACK right_flexible_list(SEMICOLON,ident) RBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState1253 : (('s, 'r) _menhir_cell1_ident _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 1253.
        Stack shape : ident SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState1256 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICE _menhir_cell0_LBRACK, 'r) _menhir_state
    (** State 1256.
        Stack shape : list(decoration) SPLICE LBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState1258 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICE _menhir_cell0_LBRACK, 'r) _menhir_cell1_right_flexible_list_SEMICOLON_ident_ _menhir_cell0_RBRACK, 'r) _menhir_state
    (** State 1258.
        Stack shape : list(decoration) SPLICE LBRACK right_flexible_list(SEMICOLON,ident) RBRACK.
        Start symbol: <undetermined>. *)

  | MenhirState1261 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_SET_OPTIONS, 'r) _menhir_state
    (** State 1261.
        Stack shape : list(decoration) PRAGMA_SET_OPTIONS.
        Start symbol: <undetermined>. *)

  | MenhirState1265 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_RESET_OPTIONS, 'r) _menhir_state
    (** State 1265.
        Stack shape : list(decoration) PRAGMA_RESET_OPTIONS.
        Start symbol: <undetermined>. *)

  | MenhirState1268 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_PUSH_OPTIONS, 'r) _menhir_state
    (** State 1268.
        Stack shape : list(decoration) PRAGMA_PUSH_OPTIONS.
        Start symbol: <undetermined>. *)

  | MenhirState1272 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_EVAL, 'r) _menhir_state
    (** State 1272.
        Stack shape : list(decoration) PRAGMA_EVAL.
        Start symbol: <undetermined>. *)

  | MenhirState1274 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_CHECK, 'r) _menhir_state
    (** State 1274.
        Stack shape : list(decoration) PRAGMA_CHECK.
        Start symbol: <undetermined>. *)

  | MenhirState1276 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_SUBCOMP, 'r) _menhir_state
    (** State 1276.
        Stack shape : list(decoration) POLYMONADIC_SUBCOMP.
        Start symbol: <undetermined>. *)

  | MenhirState1278 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_SUBCOMP, 'r) _menhir_cell1_quident, 'r) _menhir_state
    (** State 1278.
        Stack shape : list(decoration) POLYMONADIC_SUBCOMP quident.
        Start symbol: <undetermined>. *)

  | MenhirState1280 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_SUBCOMP, 'r) _menhir_cell1_quident, 'r) _menhir_cell1_quident _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1280.
        Stack shape : list(decoration) POLYMONADIC_SUBCOMP quident quident EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1284 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_BIND _menhir_cell0_LPAREN, 'r) _menhir_state
    (** State 1284.
        Stack shape : list(decoration) POLYMONADIC_BIND LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1286 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_BIND _menhir_cell0_LPAREN, 'r) _menhir_cell1_quident _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1286.
        Stack shape : list(decoration) POLYMONADIC_BIND LPAREN quident COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1289 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_BIND _menhir_cell0_LPAREN, 'r) _menhir_cell1_quident _menhir_cell0_COMMA, 'r) _menhir_cell1_quident _menhir_cell0_RPAREN _menhir_cell0_PIPE_RIGHT, 'r) _menhir_state
    (** State 1289.
        Stack shape : list(decoration) POLYMONADIC_BIND LPAREN quident COMMA quident RPAREN PIPE_RIGHT.
        Start symbol: <undetermined>. *)

  | MenhirState1291 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_BIND _menhir_cell0_LPAREN, 'r) _menhir_cell1_quident _menhir_cell0_COMMA, 'r) _menhir_cell1_quident _menhir_cell0_RPAREN _menhir_cell0_PIPE_RIGHT, 'r) _menhir_cell1_quident _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1291.
        Stack shape : list(decoration) POLYMONADIC_BIND LPAREN quident COMMA quident RPAREN PIPE_RIGHT quident EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1294 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_OPEN, 'r) _menhir_state
    (** State 1294.
        Stack shape : list(decoration) OPEN.
        Start symbol: <undetermined>. *)

  | MenhirState1295 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_OPEN, 'r) _menhir_cell1_quident, 'r) _menhir_state
    (** State 1295.
        Stack shape : list(decoration) OPEN quident.
        Start symbol: <undetermined>. *)

  | MenhirState1296 : ((('s, 'r) _menhir_cell1_quident, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 1296.
        Stack shape : quident LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState1297 : (('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1297.
        Stack shape : LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1299 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1299.
        Stack shape : LPAREN TILDE RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1300 : (('s, 'r) _menhir_cell1_AS, 'r) _menhir_state
    (** State 1300.
        Stack shape : AS.
        Start symbol: <undetermined>. *)

  | MenhirState1301 : ((('s, 'r) _menhir_cell1_AS, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1301.
        Stack shape : AS LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1320 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1320.
        Stack shape : LPAREN TILDE RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1322 : (('s, 'r) _menhir_cell1_ident, 'r) _menhir_state
    (** State 1322.
        Stack shape : ident.
        Start symbol: <undetermined>. *)

  | MenhirState1324 : ((('s, 'r) _menhir_cell1_ident, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1324.
        Stack shape : ident option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1327 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1327.
        Stack shape : LPAREN OPPREFIX RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1329 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1329.
        Stack shape : LPAREN OPPREFIX RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1332 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1332.
        Stack shape : LPAREN MINUS RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1334 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS _menhir_cell0_RPAREN, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1334.
        Stack shape : LPAREN MINUS RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1337 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1337.
        Stack shape : LPAREN LET_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1339 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1339.
        Stack shape : LPAREN LET_OP RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1342 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1342.
        Stack shape : LPAREN FORALL_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1344 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1344.
        Stack shape : LPAREN FORALL_OP RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1347 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1347.
        Stack shape : LPAREN EXISTS_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1349 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1349.
        Stack shape : LPAREN EXISTS_OP RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1352 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1352.
        Stack shape : LPAREN AND_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1354 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1354.
        Stack shape : LPAREN AND_OP RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1357 : ((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1357.
        Stack shape : LPAREN binop_name RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1359 : (((('s, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA, 'r) _menhir_state
    (** State 1359.
        Stack shape : LPAREN binop_name RPAREN option(__anonymous_0) COMMA.
        Start symbol: <undetermined>. *)

  | MenhirState1364 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_NEW_EFFECT, 'r) _menhir_state
    (** State 1364.
        Stack shape : list(decoration) NEW_EFFECT.
        Start symbol: <undetermined>. *)

  | MenhirState1365 : (('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 1365.
        Stack shape : LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState1366 : ((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_uident, 'r) _menhir_state
    (** State 1366.
        Stack shape : LBRACE uident.
        Start symbol: <undetermined>. *)

  | MenhirState1368 : (((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_uident, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1368.
        Stack shape : LBRACE uident binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1370 : ((((('s, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_uident, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_cell1_tmArrow_tmNoEq_ _menhir_cell0_WITH, 'r) _menhir_state
    (** State 1370.
        Stack shape : LBRACE uident binders COLON tmArrow(tmNoEq) WITH.
        Start symbol: <undetermined>. *)

  | MenhirState1373 : (('s, 'r) _menhir_cell1_lident, 'r) _menhir_state
    (** State 1373.
        Stack shape : lident.
        Start symbol: <undetermined>. *)

  | MenhirState1375 : ((('s, 'r) _menhir_cell1_lident, 'r) _menhir_cell1_binders _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1375.
        Stack shape : lident binders EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1378 : (('s, 'r) _menhir_cell1_effectDecl _menhir_cell0_SEMICOLON, 'r) _menhir_state
    (** State 1378.
        Stack shape : effectDecl SEMICOLON.
        Start symbol: <undetermined>. *)

  | MenhirState1381 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_NEW_EFFECT, 'r) _menhir_cell1_uident _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1381.
        Stack shape : list(decoration) NEW_EFFECT uident EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1386 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_MODULE, 'r) _menhir_state
    (** State 1386.
        Stack shape : list(decoration) MODULE.
        Start symbol: <undetermined>. *)

  | MenhirState1388 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_MODULE, 'r) _menhir_cell1_UNDERSCORE _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1388.
        Stack shape : list(decoration) MODULE UNDERSCORE EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1391 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_MODULE, 'r) _menhir_cell1_uident _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1391.
        Stack shape : list(decoration) MODULE uident EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1395 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_LET, 'r) _menhir_state
    (** State 1395.
        Stack shape : list(decoration) LET.
        Start symbol: <undetermined>. *)

  | MenhirState1397 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_LET, 'r) _menhir_cell1_letqualifier, 'r) _menhir_state
    (** State 1397.
        Stack shape : list(decoration) LET letqualifier.
        Start symbol: <undetermined>. *)

  | MenhirState1400 : (('s, 'r) _menhir_cell1_letbinding _menhir_cell0_AND, 'r) _menhir_state
    (** State 1400.
        Stack shape : letbinding AND.
        Start symbol: <undetermined>. *)

  | MenhirState1402 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_LAYERED_EFFECT, 'r) _menhir_state
    (** State 1402.
        Stack shape : list(decoration) LAYERED_EFFECT.
        Start symbol: <undetermined>. *)

  | MenhirState1404 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_state
    (** State 1404.
        Stack shape : list(decoration) INSTANCE.
        Start symbol: <undetermined>. *)

  | MenhirState1405 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_state
    (** State 1405.
        Stack shape : list(decoration) INSTANCE VAL.
        Start symbol: <undetermined>. *)

  | MenhirState1406 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_state
    (** State 1406.
        Stack shape : list(decoration) INSTANCE VAL LPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1408 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1408.
        Stack shape : list(decoration) INSTANCE VAL LPAREN TILDE RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1410 : (((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_TILDE _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1410.
        Stack shape : list(decoration) INSTANCE VAL LPAREN TILDE RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1413 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1413.
        Stack shape : list(decoration) INSTANCE VAL LPAREN OPPREFIX RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1415 : (((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1415.
        Stack shape : list(decoration) INSTANCE VAL LPAREN OPPREFIX RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1418 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1418.
        Stack shape : list(decoration) INSTANCE VAL LPAREN MINUS RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1420 : (((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_MINUS _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1420.
        Stack shape : list(decoration) INSTANCE VAL LPAREN MINUS RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1423 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1423.
        Stack shape : list(decoration) INSTANCE VAL LPAREN LET_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1425 : (((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1425.
        Stack shape : list(decoration) INSTANCE VAL LPAREN LET_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1428 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1428.
        Stack shape : list(decoration) INSTANCE VAL LPAREN FORALL_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1430 : (((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1430.
        Stack shape : list(decoration) INSTANCE VAL LPAREN FORALL_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1433 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1433.
        Stack shape : list(decoration) INSTANCE VAL LPAREN EXISTS_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1435 : (((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1435.
        Stack shape : list(decoration) INSTANCE VAL LPAREN EXISTS_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1438 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1438.
        Stack shape : list(decoration) INSTANCE VAL LPAREN AND_OP RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1440 : (((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1440.
        Stack shape : list(decoration) INSTANCE VAL LPAREN AND_OP RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1443 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_state
    (** State 1443.
        Stack shape : list(decoration) INSTANCE VAL LPAREN binop_name RPAREN.
        Start symbol: <undetermined>. *)

  | MenhirState1445 : (((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_LPAREN, 'r) _menhir_cell1_binop_name _menhir_cell0_RPAREN, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1445.
        Stack shape : list(decoration) INSTANCE VAL LPAREN binop_name RPAREN binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1447 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_lident, 'r) _menhir_state
    (** State 1447.
        Stack shape : list(decoration) INSTANCE VAL lident.
        Start symbol: <undetermined>. *)

  | MenhirState1449 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_VAL, 'r) _menhir_cell1_lident, 'r) _menhir_cell1_binders _menhir_cell0_COLON, 'r) _menhir_state
    (** State 1449.
        Stack shape : list(decoration) INSTANCE VAL lident binders COLON.
        Start symbol: <undetermined>. *)

  | MenhirState1451 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, 'r) _menhir_cell1_letqualifier, 'r) _menhir_state
    (** State 1451.
        Stack shape : list(decoration) INSTANCE letqualifier.
        Start symbol: <undetermined>. *)

  | MenhirState1453 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INCLUDE, 'r) _menhir_state
    (** State 1453.
        Stack shape : list(decoration) INCLUDE.
        Start symbol: <undetermined>. *)

  | MenhirState1454 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_INCLUDE, 'r) _menhir_cell1_quident, 'r) _menhir_state
    (** State 1454.
        Stack shape : list(decoration) INCLUDE quident.
        Start symbol: <undetermined>. *)

  | MenhirState1456 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_FRIEND, 'r) _menhir_state
    (** State 1456.
        Stack shape : list(decoration) FRIEND.
        Start symbol: <undetermined>. *)

  | MenhirState1458 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_EXCEPTION, 'r) _menhir_state
    (** State 1458.
        Stack shape : list(decoration) EXCEPTION.
        Start symbol: <undetermined>. *)

  | MenhirState1460 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_EXCEPTION, 'r) _menhir_cell1_uident, 'r) _menhir_state
    (** State 1460.
        Stack shape : list(decoration) EXCEPTION uident.
        Start symbol: <undetermined>. *)

  | MenhirState1463 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, 'r) _menhir_state
    (** State 1463.
        Stack shape : list(decoration) EFFECT.
        Start symbol: <undetermined>. *)

  | MenhirState1464 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, 'r) _menhir_cell1_LBRACE, 'r) _menhir_state
    (** State 1464.
        Stack shape : list(decoration) EFFECT LBRACE.
        Start symbol: <undetermined>. *)

  | MenhirState1465 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_uident, 'r) _menhir_state
    (** State 1465.
        Stack shape : list(decoration) EFFECT LBRACE uident.
        Start symbol: <undetermined>. *)

  | MenhirState1467 : ((((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, 'r) _menhir_cell1_LBRACE, 'r) _menhir_cell1_uident, 'r) _menhir_cell1_binders _menhir_cell0_WITH, 'r) _menhir_state
    (** State 1467.
        Stack shape : list(decoration) EFFECT LBRACE uident binders WITH.
        Start symbol: <undetermined>. *)

  | MenhirState1470 : ((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, 'r) _menhir_cell1_uident, 'r) _menhir_state
    (** State 1470.
        Stack shape : list(decoration) EFFECT uident.
        Start symbol: <undetermined>. *)

  | MenhirState1472 : (((('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, 'r) _menhir_cell1_uident, 'r) _menhir_cell1_typars _menhir_cell0_EQUALS, 'r) _menhir_state
    (** State 1472.
        Stack shape : list(decoration) EFFECT uident typars EQUALS.
        Start symbol: <undetermined>. *)

  | MenhirState1475 : (('s, 'r) _menhir_cell1_list_decoration_ _menhir_cell0_CLASS, 'r) _menhir_state
    (** State 1475.
        Stack shape : list(decoration) CLASS.
        Start symbol: <undetermined>. *)

  | MenhirState1484 : (('s, 'r) _menhir_cell1_decoration, 'r) _menhir_state
    (** State 1484.
        Stack shape : decoration.
        Start symbol: <undetermined>. *)

  | MenhirState1488 : (('s, _menhir_box_inputFragment) _menhir_cell1_decl, _menhir_box_inputFragment) _menhir_state
    (** State 1488.
        Stack shape : decl.
        Start symbol: inputFragment. *)

  | MenhirState1490 : ('s, _menhir_box_oneDeclOrEOF) _menhir_state
    (** State 1490.
        Stack shape : <empty>.
        Start symbol: oneDeclOrEOF. *)

  | MenhirState1494 : (('s, _menhir_box_oneDeclOrEOF) _menhir_cell1_decl, _menhir_box_oneDeclOrEOF) _menhir_state
    (** State 1494.
        Stack shape : decl.
        Start symbol: oneDeclOrEOF. *)

  | MenhirState1546 : ('s, _menhir_box_term) _menhir_state
    (** State 1546.
        Stack shape : <empty>.
        Start symbol: term. *)


and ('s, 'r) _menhir_cell1_appTerm = 
  | MenhirCell1_appTerm of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_appTermNoRecordExp = 
  | MenhirCell1_appTermNoRecordExp of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_aqual = 
  | MenhirCell1_aqual of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.arg_qualifier) * Lexing.position

and ('s, 'r) _menhir_cell1_aqualifiedWithAttrs_lidentOrOperator_ = 
  | MenhirCell1_aqualifiedWithAttrs_lidentOrOperator_ of 's * ('s, 'r) _menhir_state * ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name)

and ('s, 'r) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_ = 
  | MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ of 's * ('s, 'r) _menhir_state * ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_ascribeTyp = 
  | MenhirCell1_ascribeTyp of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_atomicPattern = 
  | MenhirCell1_atomicPattern of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.pattern) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_atomicTerm = 
  | MenhirCell1_atomicTerm of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_atomicTermNotQUident = 
  | MenhirCell1_atomicTermNotQUident of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_atomicUniverse = 
  | MenhirCell1_atomicUniverse of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_attr_letbinding = 
  | MenhirCell1_attr_letbinding of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.attributes_ option *
  (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

and ('s, 'r) _menhir_cell1_attribute = 
  | MenhirCell1_attribute of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.attributes_) * Lexing.position

and ('s, 'r) _menhir_cell1_binderAttributes = 
  | MenhirCell1_binderAttributes of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.attributes_) * Lexing.position

and ('s, 'r) _menhir_cell1_binders = 
  | MenhirCell1_binders of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.binder list) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_binop_name = 
  | MenhirCell1_binop_name of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_calcRel = 
  | MenhirCell1_calcRel of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ)

and ('s, 'r) _menhir_cell1_calcStep = 
  | MenhirCell1_calcStep of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.calc_step)

and ('s, 'r) _menhir_cell1_conjunctivePat = 
  | MenhirCell1_conjunctivePat of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ list)

and ('s, 'r) _menhir_cell1_constructorDecl = 
  | MenhirCell1_constructorDecl of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name *
  FStarC_Parser_AST.constructor_payload option *
  FStarC_Parser_AST.attributes_)

and ('s, 'r) _menhir_cell1_constructorPattern = 
  | MenhirCell1_constructorPattern of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.pattern) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_decl = 
  | MenhirCell1_decl of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.decl list)

and ('s, 'r) _menhir_cell1_decoration = 
  | MenhirCell1_decoration of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.decoration)

and ('s, 'r) _menhir_cell1_disjunctivePats = 
  | MenhirCell1_disjunctivePats of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ list list)

and ('s, 'r) _menhir_cell1_disjunctivePattern = 
  | MenhirCell1_disjunctivePattern of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.pattern list) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_effectDecl = 
  | MenhirCell1_effectDecl of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.decl)

and ('s, 'r) _menhir_cell1_fieldPattern = 
  | MenhirCell1_fieldPattern of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern)

and ('s, 'r) _menhir_cell1_genBinder = 
  | MenhirCell1_genBinder of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.pattern list) * Lexing.position * Lexing.position

and 's _menhir_cell0_hasSort = 
  | MenhirCell0_hasSort of 's * (FStarC_Parser_AST.level)

and ('s, 'r) _menhir_cell1_ident = 
  | MenhirCell1_ident of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_ifMaybeOp = 
  | MenhirCell1_ifMaybeOp of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name option) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_indexingTerm = 
  | MenhirCell1_indexingTerm of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_letbinding = 
  | MenhirCell1_letbinding of 's * ('s, 'r) _menhir_state * (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_letoperatorbinding = 
  | MenhirCell1_letoperatorbinding of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)

and ('s, 'r) _menhir_cell1_letqualifier = 
  | MenhirCell1_letqualifier of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.let_qualifier)

and ('s, 'r) _menhir_cell1_lident = 
  | MenhirCell1_lident of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_lidentOrUnderscore = 
  | MenhirCell1_lidentOrUnderscore of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_list___anonymous_11_ = 
  | MenhirCell1_list___anonymous_11_ of 's * ('s, 'r) _menhir_state * ((FStarC_Syntax_Syntax.univ_name *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))
  list)

and ('s, 'r) _menhir_cell1_list_atomicTerm_ = 
  | MenhirCell1_list_atomicTerm_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ list) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_list_attr_letbinding_ = 
  | MenhirCell1_list_attr_letbinding_ of 's * ('s, 'r) _menhir_state * ((FStarC_Parser_AST.attributes_ option *
   (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))
  list)

and ('s, 'r) _menhir_cell1_list_decoration_ = 
  | MenhirCell1_list_decoration_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.decoration list)

and ('s, 'r) _menhir_cell1_localletqualifier = 
  | MenhirCell1_localletqualifier of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.local_let_qualifier) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_matchMaybeOp = 
  | MenhirCell1_matchMaybeOp of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name option) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_maybeFocus = 
  | MenhirCell1_maybeFocus of 's * ('s, 'r) _menhir_state * (bool) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_maybeFocusArrow = 
  | MenhirCell1_maybeFocusArrow of 's * ('s, 'r) _menhir_state * (bool) * Lexing.position

and ('s, 'r) _menhir_cell1_multiBinder = 
  | MenhirCell1_multiBinder of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.binder list) * Lexing.position

and ('s, 'r) _menhir_cell1_noSeqTerm = 
  | MenhirCell1_noSeqTerm of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ = 
  | MenhirCell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ of 's * ('s, 'r) _menhir_state * (((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
   FStarC_Syntax_Syntax.univ_name)
  list)

and ('s, 'r) _menhir_cell1_nonempty_list_genBinder_ = 
  | MenhirCell1_nonempty_list_genBinder_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.pattern list list) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_option___anonymous_0_ = 
  | MenhirCell1_option___anonymous_0_ of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.ident_alias)

and ('s, 'r) _menhir_cell1_option___anonymous_8_ = 
  | MenhirCell1_option___anonymous_8_ of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name option)

and ('s, 'r) _menhir_cell1_option___anonymous_9_ = 
  | MenhirCell1_option___anonymous_9_ of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name option)

and 's _menhir_cell0_option_ascribeKind_ = 
  | MenhirCell0_option_ascribeKind_ of 's * (FStarC_Parser_AST.typ option)

and ('s, 'r) _menhir_cell1_option_ascribeTyp_ = 
  | MenhirCell1_option_ascribeTyp_ of 's * ('s, 'r) _menhir_state * ((FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option) option) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_option_match_returning_ = 
  | MenhirCell1_option_match_returning_ of 's * ('s, 'r) _menhir_state * ((FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool)
  option)

and ('s, 'r) _menhir_cell1_option_term_ = 
  | MenhirCell1_option_term_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ option)

and ('s, 'r) _menhir_cell1_projectionLHS = 
  | MenhirCell1_projectionLHS of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_qlident = 
  | MenhirCell1_qlident of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.var) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_qlidentOrOperator = 
  | MenhirCell1_qlidentOrOperator of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.var) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_quident = 
  | MenhirCell1_quident of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.var) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_recordExp = 
  | MenhirCell1_recordExp of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ)

and ('s, 'r) _menhir_cell1_recordFieldDecl = 
  | MenhirCell1_recordFieldDecl of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.aqual *
  FStarC_Parser_AST.attributes_ * FStarC_Parser_AST.typ)

and ('s, 'r) _menhir_cell1_refineOpt = 
  | MenhirCell1_refineOpt of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ option) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_reverse_left_flexible_list_BAR___anonymous_10_ = 
  | MenhirCell1_reverse_left_flexible_list_BAR___anonymous_10_ of 's * ('s, 'r) _menhir_state * ((bool * FStarC_Parser_AST.branch) list) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_reverse_left_flexible_nonempty_list_BAR_patternBranch_ = 
  | MenhirCell1_reverse_left_flexible_nonempty_list_BAR_patternBranch_ of 's * ('s, 'r) _menhir_state * ((bool * FStarC_Parser_AST.branch) list) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_right_flexible_list_SEMICOLON_ident_ = 
  | MenhirCell1_right_flexible_list_SEMICOLON_ident_ of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name list)

and ('s, 'r) _menhir_cell1_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ = 
  | MenhirCell1_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.tycon_record)

and ('s, 'r) _menhir_cell1_simpleArrow = 
  | MenhirCell1_simpleArrow of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_simpleArrowDomain = 
  | MenhirCell1_simpleArrowDomain of 's * ('s, 'r) _menhir_state * ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_simpleDef = 
  | MenhirCell1_simpleDef of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_singleBinder = 
  | MenhirCell1_singleBinder of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.binder)

and ('s, 'r) _menhir_cell1_tc_constraint = 
  | MenhirCell1_tc_constraint of 's * ('s, 'r) _menhir_state * (tc_constraint)

and ('s, 'r) _menhir_cell1_term = 
  | MenhirCell1_term of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmArrow_tmFormula_ = 
  | MenhirCell1_tmArrow_tmFormula_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmArrow_tmNoEq_ = 
  | MenhirCell1_tmArrow_tmNoEq_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmConjunction = 
  | MenhirCell1_tmConjunction of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmEq = 
  | MenhirCell1_tmEq of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmEqNoRefinement = 
  | MenhirCell1_tmEqNoRefinement of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmEqWith_appTermNoRecordExp_ = 
  | MenhirCell1_tmEqWith_appTermNoRecordExp_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmEqWith_tmRefinement_ = 
  | MenhirCell1_tmEqWith_tmRefinement_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmFormula = 
  | MenhirCell1_tmFormula of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmIff = 
  | MenhirCell1_tmIff of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmImplies = 
  | MenhirCell1_tmImplies of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmNoEq = 
  | MenhirCell1_tmNoEq of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ = 
  | MenhirCell1_tmNoEqWith_appTermNoRecordExp_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmNoEqWith_tmRefinement_ = 
  | MenhirCell1_tmNoEqWith_tmRefinement_ of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tmTuple = 
  | MenhirCell1_tmTuple of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_tuplePattern = 
  | MenhirCell1_tuplePattern of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.pattern) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_typars = 
  | MenhirCell1_typars of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.binder list)

and ('s, 'r) _menhir_cell1_typeDecl = 
  | MenhirCell1_typeDecl of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.tycon) * Lexing.position

and ('s, 'r) _menhir_cell1_uident = 
  | MenhirCell1_uident of 's * ('s, 'r) _menhir_state * (FStarC_Syntax_Syntax.univ_name) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_universe = 
  | MenhirCell1_universe of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) * Lexing.position

and ('s, 'r) _menhir_cell1_universeFrom = 
  | MenhirCell1_universeFrom of 's * ('s, 'r) _menhir_state * (FStarC_Parser_AST.typ) * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_AND = 
  | MenhirCell1_AND of 's * ('s, 'r) _menhir_state * Lexing.position

and 's _menhir_cell0_AND = 
  | MenhirCell0_AND of 's * Lexing.position

and ('s, 'r) _menhir_cell1_AND_OP = 
  | MenhirCell1_AND_OP of 's * ('s, 'r) _menhir_state * 
# 149 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3647 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_AS = 
  | MenhirCell1_AS of 's * ('s, 'r) _menhir_state

and ('s, 'r) _menhir_cell1_ASSERT = 
  | MenhirCell1_ASSERT of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_ASSUME = 
  | MenhirCell1_ASSUME of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_ATTRIBUTES = 
  | MenhirCell1_ATTRIBUTES of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_BACKTICK = 
  | MenhirCell1_BACKTICK of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_BACKTICK = 
  | MenhirCell0_BACKTICK of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_BACKTICK_AT = 
  | MenhirCell1_BACKTICK_AT of 's * ('s, 'r) _menhir_state * Lexing.position

and ('s, 'r) _menhir_cell1_BACKTICK_HASH = 
  | MenhirCell1_BACKTICK_HASH of 's * ('s, 'r) _menhir_state * Lexing.position

and ('s, 'r) _menhir_cell1_BACKTICK_PERC = 
  | MenhirCell1_BACKTICK_PERC of 's * ('s, 'r) _menhir_state * Lexing.position

and ('s, 'r) _menhir_cell1_BANG_LBRACE = 
  | MenhirCell1_BANG_LBRACE of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_BAR = 
  | MenhirCell1_BAR of 's * ('s, 'r) _menhir_state * Lexing.position

and 's _menhir_cell0_BAR = 
  | MenhirCell0_BAR of 's * Lexing.position

and ('s, 'r) _menhir_cell1_BAR_RBRACE = 
  | MenhirCell1_BAR_RBRACE of 's * ('s, 'r) _menhir_state * Lexing.position

and 's _menhir_cell0_BAR_RBRACE = 
  | MenhirCell0_BAR_RBRACE of 's * Lexing.position

and 's _menhir_cell0_BAR_RBRACK = 
  | MenhirCell0_BAR_RBRACK of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_BEGIN = 
  | MenhirCell1_BEGIN of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_CALC = 
  | MenhirCell1_CALC of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_CLASS = 
  | MenhirCell0_CLASS of 's * Lexing.position

and ('s, 'r) _menhir_cell1_COLON = 
  | MenhirCell1_COLON of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_COLON = 
  | MenhirCell0_COLON of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_COLON_COLON = 
  | MenhirCell0_COLON_COLON of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_COLON_EQUALS = 
  | MenhirCell0_COLON_EQUALS of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_COMMA = 
  | MenhirCell0_COMMA of 's * Lexing.position

and 's _menhir_cell0_CONJUNCTION = 
  | MenhirCell0_CONJUNCTION of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_DECREASES = 
  | MenhirCell1_DECREASES of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_DISJUNCTION = 
  | MenhirCell1_DISJUNCTION of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_DISJUNCTION = 
  | MenhirCell0_DISJUNCTION of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_DOT = 
  | MenhirCell1_DOT of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_DOT = 
  | MenhirCell0_DOT of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_DOT_LBRACK = 
  | MenhirCell1_DOT_LBRACK of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_DOT_LBRACK_BAR = 
  | MenhirCell1_DOT_LBRACK_BAR of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_DOT_LENS_PAREN_LEFT = 
  | MenhirCell1_DOT_LENS_PAREN_LEFT of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_DOT_LPAREN = 
  | MenhirCell1_DOT_LPAREN of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_DOT_LPAREN = 
  | MenhirCell0_DOT_LPAREN of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_EFFECT = 
  | MenhirCell0_EFFECT of 's * Lexing.position

and ('s, 'r) _menhir_cell1_ELIM = 
  | MenhirCell1_ELIM of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_ELSE = 
  | MenhirCell0_ELSE of 's * Lexing.position

and ('s, 'r) _menhir_cell1_ENSURES = 
  | MenhirCell1_ENSURES of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_EQUALS = 
  | MenhirCell1_EQUALS of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_EQUALS = 
  | MenhirCell0_EQUALS of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_EXCEPTION = 
  | MenhirCell0_EXCEPTION of 's * Lexing.position

and ('s, 'r) _menhir_cell1_EXISTS = 
  | MenhirCell1_EXISTS of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_EXISTS_OP = 
  | MenhirCell1_EXISTS_OP of 's * ('s, 'r) _menhir_state * 
# 153 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3780 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_FORALL = 
  | MenhirCell1_FORALL of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_FORALL_OP = 
  | MenhirCell1_FORALL_OP of 's * ('s, 'r) _menhir_state * 
# 155 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3790 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_FRIEND = 
  | MenhirCell0_FRIEND of 's * Lexing.position

and ('s, 'r) _menhir_cell1_FUN = 
  | MenhirCell1_FUN of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_FUNCTION = 
  | MenhirCell1_FUNCTION of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_HASH = 
  | MenhirCell1_HASH of 's * ('s, 'r) _menhir_state * Lexing.position

and 's _menhir_cell0_IDENT = 
  | MenhirCell0_IDENT of 's * 
# 129 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3809 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_IFF = 
  | MenhirCell0_IFF of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_IMPLIES = 
  | MenhirCell0_IMPLIES of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_IN = 
  | MenhirCell0_IN of 's * Lexing.position

and 's _menhir_cell0_INCLUDE = 
  | MenhirCell0_INCLUDE of 's * Lexing.position

and 's _menhir_cell0_INSTANCE = 
  | MenhirCell0_INSTANCE of 's * Lexing.position

and ('s, 'r) _menhir_cell1_INTRO = 
  | MenhirCell1_INTRO of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_LARROW = 
  | MenhirCell1_LARROW of 's * ('s, 'r) _menhir_state * Lexing.position

and 's _menhir_cell0_LAYERED_EFFECT = 
  | MenhirCell0_LAYERED_EFFECT of 's * Lexing.position

and ('s, 'r) _menhir_cell1_LBRACE = 
  | MenhirCell1_LBRACE of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_LBRACE = 
  | MenhirCell0_LBRACE of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_LBRACE_BAR = 
  | MenhirCell1_LBRACE_BAR of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_LBRACE_COLON_PATTERN = 
  | MenhirCell1_LBRACE_COLON_PATTERN of 's * ('s, 'r) _menhir_state

and ('s, 'r) _menhir_cell1_LBRACE_COLON_WELL_FOUNDED = 
  | MenhirCell1_LBRACE_COLON_WELL_FOUNDED of 's * ('s, 'r) _menhir_state * Lexing.position

and ('s, 'r) _menhir_cell1_LBRACK = 
  | MenhirCell1_LBRACK of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_LBRACK = 
  | MenhirCell0_LBRACK of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_LBRACK_AT = 
  | MenhirCell1_LBRACK_AT of 's * ('s, 'r) _menhir_state * Lexing.position

and ('s, 'r) _menhir_cell1_LBRACK_AT_AT = 
  | MenhirCell1_LBRACK_AT_AT of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_LBRACK_AT_AT_AT = 
  | MenhirCell1_LBRACK_AT_AT_AT of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_LENS_PAREN_LEFT = 
  | MenhirCell1_LENS_PAREN_LEFT of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_LENS_PAREN_RIGHT = 
  | MenhirCell0_LENS_PAREN_RIGHT of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_LET = 
  | MenhirCell1_LET of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_LET = 
  | MenhirCell0_LET of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_LET_OP = 
  | MenhirCell1_LET_OP of 's * ('s, 'r) _menhir_state * 
# 148 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3882 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_LONG_LEFT_ARROW = 
  | MenhirCell0_LONG_LEFT_ARROW of 's * Lexing.position

and ('s, 'r) _menhir_cell1_LPAREN = 
  | MenhirCell1_LPAREN of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_LPAREN = 
  | MenhirCell0_LPAREN of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_MINUS = 
  | MenhirCell1_MINUS of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_MINUS = 
  | MenhirCell0_MINUS of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_MODULE = 
  | MenhirCell0_MODULE of 's * Lexing.position

and 's _menhir_cell0_NAME = 
  | MenhirCell0_NAME of 's * 
# 130 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 3907 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_NEW_EFFECT = 
  | MenhirCell0_NEW_EFFECT of 's * Lexing.position

and ('s, 'r) _menhir_cell1_OF = 
  | MenhirCell1_OF of 's * ('s, 'r) _menhir_state

and ('s, 'r) _menhir_cell1_OPEN = 
  | MenhirCell1_OPEN of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_OPEN = 
  | MenhirCell0_OPEN of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX0a = 
  | MenhirCell0_OPINFIX0a of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3926 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX0b = 
  | MenhirCell0_OPINFIX0b of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3933 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX0c = 
  | MenhirCell0_OPINFIX0c of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3940 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX0d = 
  | MenhirCell0_OPINFIX0d of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3947 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX1 = 
  | MenhirCell0_OPINFIX1 of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3954 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX2 = 
  | MenhirCell0_OPINFIX2 of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3961 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX3L = 
  | MenhirCell0_OPINFIX3L of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3968 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX3R = 
  | MenhirCell0_OPINFIX3R of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3975 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and 's _menhir_cell0_OPINFIX4 = 
  | MenhirCell0_OPINFIX4 of 's * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3982 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_OPPREFIX = 
  | MenhirCell1_OPPREFIX of 's * ('s, 'r) _menhir_state * 
# 197 "fstar-guts/FStarC_Parser_Parse.mly"
      (string)
# 3989 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_PERCENT_LBRACK = 
  | MenhirCell1_PERCENT_LBRACK of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_PIPE_LEFT = 
  | MenhirCell0_PIPE_LEFT of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_PIPE_RIGHT = 
  | MenhirCell0_PIPE_RIGHT of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_POLYMONADIC_BIND = 
  | MenhirCell0_POLYMONADIC_BIND of 's * Lexing.position

and 's _menhir_cell0_POLYMONADIC_SUBCOMP = 
  | MenhirCell0_POLYMONADIC_SUBCOMP of 's * Lexing.position

and 's _menhir_cell0_PRAGMA_CHECK = 
  | MenhirCell0_PRAGMA_CHECK of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_PRAGMA_EVAL = 
  | MenhirCell0_PRAGMA_EVAL of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_PRAGMA_PUSH_OPTIONS = 
  | MenhirCell0_PRAGMA_PUSH_OPTIONS of 's * Lexing.position

and 's _menhir_cell0_PRAGMA_RESET_OPTIONS = 
  | MenhirCell0_PRAGMA_RESET_OPTIONS of 's * Lexing.position

and 's _menhir_cell0_PRAGMA_SET_OPTIONS = 
  | MenhirCell0_PRAGMA_SET_OPTIONS of 's * Lexing.position

and ('s, 'r) _menhir_cell1_QUOTE = 
  | MenhirCell1_QUOTE of 's * ('s, 'r) _menhir_state * Lexing.position

and ('s, 'r) _menhir_cell1_RARROW = 
  | MenhirCell1_RARROW of 's * ('s, 'r) _menhir_state * Lexing.position

and 's _menhir_cell0_RARROW = 
  | MenhirCell0_RARROW of 's * Lexing.position

and 's _menhir_cell0_RBRACE = 
  | MenhirCell0_RBRACE of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_RBRACK = 
  | MenhirCell0_RBRACK of 's * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_REQUIRES = 
  | MenhirCell1_REQUIRES of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_RETURNS = 
  | MenhirCell0_RETURNS of 's * Lexing.position

and ('s, 'r) _menhir_cell1_RPAREN = 
  | MenhirCell1_RPAREN of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_RPAREN = 
  | MenhirCell0_RPAREN of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_SEMICOLON = 
  | MenhirCell0_SEMICOLON of 's * Lexing.position

and 's _menhir_cell0_SEMICOLON_OP = 
  | MenhirCell0_SEMICOLON_OP of 's * 
# 162 "fstar-guts/FStarC_Parser_Parse.mly"
       (string option)
# 4056 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_SEQ_BANG_LBRACK = 
  | MenhirCell1_SEQ_BANG_LBRACK of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_SPLICE = 
  | MenhirCell0_SPLICE of 's * Lexing.position

and 's _menhir_cell0_SPLICET = 
  | MenhirCell0_SPLICET of 's * Lexing.position

and 's _menhir_cell0_SQUIGGLY_RARROW = 
  | MenhirCell0_SQUIGGLY_RARROW of 's * Lexing.position * Lexing.position

and 's _menhir_cell0_SUB_EFFECT = 
  | MenhirCell0_SUB_EFFECT of 's * Lexing.position

and ('s, 'r) _menhir_cell1_SYNTH = 
  | MenhirCell1_SYNTH of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_THEN = 
  | MenhirCell0_THEN of 's * Lexing.position

and ('s, 'r) _menhir_cell1_TILDE = 
  | MenhirCell1_TILDE of 's * ('s, 'r) _menhir_state * 
# 131 "fstar-guts/FStarC_Parser_Parse.mly"
       (string)
# 4084 "fstar-guts/FStarC_Parser_Parse.ml"
 * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_TRY = 
  | MenhirCell1_TRY of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and 's _menhir_cell0_TYPE = 
  | MenhirCell0_TYPE of 's * Lexing.position

and ('s, 'r) _menhir_cell1_UNDERSCORE = 
  | MenhirCell1_UNDERSCORE of 's * ('s, 'r) _menhir_state * Lexing.position * Lexing.position

and ('s, 'r) _menhir_cell1_UNIV_HASH = 
  | MenhirCell1_UNIV_HASH of 's * ('s, 'r) _menhir_state * Lexing.position

and ('s, 'r) _menhir_cell1_VAL = 
  | MenhirCell1_VAL of 's * ('s, 'r) _menhir_state * Lexing.position

and 's _menhir_cell0_VAL = 
  | MenhirCell0_VAL of 's * Lexing.position

and ('s, 'r) _menhir_cell1_WHEN = 
  | MenhirCell1_WHEN of 's * ('s, 'r) _menhir_state

and ('s, 'r) _menhir_cell1_WITH = 
  | MenhirCell1_WITH of 's * ('s, 'r) _menhir_state * Lexing.position

and 's _menhir_cell0_WITH = 
  | MenhirCell0_WITH of 's * Lexing.position

and _menhir_box_term = 
  | MenhirBox_term of (FStarC_Parser_AST.typ) [@@unboxed]

and _menhir_box_oneDeclOrEOF = 
  | MenhirBox_oneDeclOrEOF of ((FStarC_Parser_AST.decl list * FStarC_Sedlexing.snap option) option) [@@unboxed]

and _menhir_box_inputFragment = 
  | MenhirBox_inputFragment of (FStarC_Parser_AST.inputFragment) [@@unboxed]

let _menhir_action_003 =
  fun t ->
    (
# 1503 "fstar-guts/FStarC_Parser_Parse.mly"
                       ( t )
# 4128 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_004 =
  fun t ->
    (
# 1504 "fstar-guts/FStarC_Parser_Parse.mly"
                                 ( t )
# 4136 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_005 =
  fun a ->
    let h = 
# 1516 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4144 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1491 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( [h, a] )
# 4149 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_006 =
  fun a ->
    let h = 
# 1517 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4157 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1491 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( [h, a] )
# 4162 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_007 =
  fun a rest ->
    let h = 
# 1516 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4170 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1492 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( (h, a) :: rest )
# 4175 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_008 =
  fun a rest ->
    let h = 
# 1517 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4183 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1492 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( (h, a) :: rest )
# 4188 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_009 =
  fun e rest ->
    let a = 
# 1390 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 4196 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let h = 
# 1516 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4201 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1493 "fstar-guts/FStarC_Parser_Parse.mly"
                                              ( (h, a) :: rest )
# 4206 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_010 =
  fun e rest ->
    let a = 
# 1390 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 4214 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let h = 
# 1517 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4219 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1493 "fstar-guts/FStarC_Parser_Parse.mly"
                                              ( (h, a) :: rest )
# 4224 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_011 =
  fun a rest ->
    (
# 1494 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( a :: rest )
# 4232 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_012 =
  fun () ->
    (
# 1495 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 4240 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_013 =
  fun a rest ->
    let h = 
# 1516 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Nothing )
# 4248 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1507 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( (h, a) :: rest )
# 4253 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_014 =
  fun a rest ->
    let h = 
# 1517 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Hash )
# 4261 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1507 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( (h, a) :: rest )
# 4266 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_015 =
  fun a rest ->
    (
# 1508 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( a :: rest )
# 4274 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_016 =
  fun () ->
    (
# 1509 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 4282 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.imp * FStarC_Parser_AST.typ) list))

let _menhir_action_017 =
  fun _endpos_args_ _endpos_head_ _startpos_args_ _startpos_head_ args head ->
    let _loc_head_ = (_startpos_head_, _endpos_head_) in
    let _loc_args_ = (_startpos_args_, _endpos_args_) in
    (
# 1499 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp head (map (fun (x,y) -> (y,x)) args) (rr2 _loc_head_ _loc_args_) )
# 4292 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_018 =
  fun _endpos_args_ _endpos_head_ _startpos_args_ _startpos_head_ args head ->
    let _loc_head_ = (_startpos_head_, _endpos_head_) in
    let _loc_args_ = (_startpos_args_, _endpos_args_) in
    (
# 1499 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp head (map (fun (x,y) -> (y,x)) args) (rr2 _loc_head_ _loc_args_) )
# 4302 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_019 =
  fun t ->
    (
# 1513 "fstar-guts/FStarC_Parser_Parse.mly"
                                            (t)
# 4310 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_020 =
  fun t ->
    (
# 739 "fstar-guts/FStarC_Parser_Parse.mly"
                                     ( mk_meta_tac t )
# 4318 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_021 =
  fun () ->
    (
# 740 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( Implicit )
# 4326 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_022 =
  fun () ->
    (
# 741 "fstar-guts/FStarC_Parser_Parse.mly"
              ( Equality )
# 4334 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.arg_qualifier))

let _menhir_action_023 =
  fun aq attrs x ->
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4342 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  unit))

let _menhir_action_024 =
  fun aq x ->
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4351 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  unit))

let _menhir_action_025 =
  fun attrs x ->
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4360 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  unit))

let _menhir_action_026 =
  fun x ->
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 4369 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  unit))

let _menhir_action_027 =
  fun aq attrs x ->
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4378 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_028 =
  fun aq x ->
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4387 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_029 =
  fun attrs x ->
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4396 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_030 =
  fun x ->
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 4405 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_031 =
  fun aq attrs id ->
    let x = 
# 921 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4414 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4419 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_032 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4433 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4439 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4445 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_033 =
  fun aq attrs op ->
    let x =
      let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4455 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4460 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4466 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_034 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4480 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4486 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4492 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_035 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4506 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4512 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4518 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_036 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 4533 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4539 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4545 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4551 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_037 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 4566 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4572 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4578 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4584 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_038 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 4599 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4605 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4611 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4617 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_039 =
  fun _endpos_op_ _startpos_op_ aq attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 4632 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4638 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4644 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 4650 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_040 =
  fun aq id ->
    let x = 
# 921 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4659 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4664 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_041 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4678 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4684 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4690 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_042 =
  fun aq op ->
    let x =
      let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4700 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4705 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4711 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_043 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4725 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4731 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4737 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_044 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4751 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4757 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4763 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_045 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 4778 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4784 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4790 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4796 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_046 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 4811 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 4817 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4823 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4829 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_047 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 4844 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4850 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4856 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4862 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_048 =
  fun _endpos_op_ _startpos_op_ aq op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 4877 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 4883 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4889 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 4895 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_049 =
  fun attrs id ->
    let x = 
# 921 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 4904 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4909 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_050 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4923 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4929 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4935 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_051 =
  fun attrs op ->
    let x =
      let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 4945 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4950 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4956 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_052 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 4970 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 4976 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 4982 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_053 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 4996 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5002 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5008 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_054 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5023 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5029 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5035 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5041 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_055 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5056 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5062 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5068 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5074 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_056 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5089 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5095 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5101 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5107 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_057 =
  fun _endpos_op_ _startpos_op_ attrs op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5122 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5128 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5134 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5140 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_058 =
  fun id ->
    let x = 
# 921 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 5149 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5154 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_059 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5168 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5174 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5180 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_060 =
  fun op ->
    let x =
      let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5190 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5195 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5201 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_061 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5215 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5221 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5227 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_062 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5241 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5247 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5253 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_063 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5268 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5274 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5280 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5286 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_064 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5301 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5307 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5313 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5319 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_065 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5334 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5340 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5346 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5352 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_066 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5367 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5373 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 5379 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5385 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_067 =
  fun aq attrs x ->
    (
# 888 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( (Some aq, attrs), x )
# 5394 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_068 =
  fun aq x ->
    (
# 889 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( (Some aq, []), x )
# 5403 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_069 =
  fun attrs x ->
    (
# 890 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( (None, attrs), x )
# 5412 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_070 =
  fun x ->
    (
# 891 "fstar-guts/FStarC_Parser_Parse.mly"
        ( (None, []), x )
# 5421 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
  FStarC_Syntax_Syntax.univ_name))

let _menhir_action_071 =
  fun k ->
    (
# 968 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( k )
# 5430 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_072 =
  fun t tacopt ->
    (
# 964 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                  ( t, tacopt )
# 5438 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option))

let _menhir_action_073 =
  fun _endpos__6_ _endpos_pat_ _endpos_t_ _startpos__1_ _startpos_pat_ _startpos_t_ pat phi_opt t ->
    let _endpos = _endpos__6_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    let _loc = (_startpos, _endpos) in
    (
# 772 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pos_t = rr2 _loc_pat_ _loc_t_ in
        let pos = rr _loc in
        mkRefinedPattern pat t true phi_opt pos_t pos
      )
# 5455 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_074 =
  fun pat ->
    (
# 777 "fstar-guts/FStarC_Parser_Parse.mly"
                                     ( pat )
# 5463 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_075 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 779 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        mk_pattern PatRest (rr _loc)
      )
# 5476 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_076 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ pats ->
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 783 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatList pats) (rr2 _loc__1_ _loc__3_) )
# 5486 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_077 =
  fun _endpos__3_ _startpos__1_ record_pat ->
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 785 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatRecord record_pat) (rr _loc) )
# 5497 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_078 =
  fun _endpos__5_ _startpos__1_ pat0 pats ->
    let _endpos = _endpos__5_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 787 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatTuple(pat0::pats, true)) (rr _loc) )
# 5508 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_079 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5520 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 789 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5529 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_080 =
  fun _endpos__3_ _startpos__1_ op ->
    let op = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5537 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 789 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5545 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_081 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5557 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 789 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5566 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_082 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5578 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 789 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5587 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_083 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5600 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5606 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 789 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5615 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_084 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5628 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5634 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 789 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5643 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_085 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5656 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5662 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 789 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5671 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_086 =
  fun _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5684 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5690 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 789 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatOp op) (rr _loc) )
# 5699 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_087 =
  fun _endpos_c_ _startpos_c_ c ->
    let _loc_c_ = (_startpos_c_, _endpos_c_) in
    (
# 791 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatConst c) (rr _loc_c_) )
# 5708 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_088 =
  fun _endpos_c_ _endpos_tok_ _startpos_c_ _startpos_tok_ c tok ->
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc_c_ = (_startpos_c_, _endpos_c_) in
    (
# 793 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let r = rr2 _loc_tok_ _loc_c_ in
        let c =
          match c with
          | Const_int (s, swopt) ->
            (match swopt with
             | None
             | Some (Signed, _) -> Const_int ("-" ^ s, swopt)
             | _ -> raise_error_text r Fatal_SyntaxError "Syntax_error: negative integer constant with unsigned width")
          | _ -> raise_error_text r Fatal_SyntaxError "Syntax_error: negative constant that is not an integer"
        in
        mk_pattern (PatConst c) r )
# 5728 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_089 =
  fun _endpos_q_ _startpos__1_ q ->
    let _endpos = _endpos_q_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 805 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatVQuote q) (rr _loc) )
# 5739 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_090 =
  fun _endpos_qual_id_ _startpos_qual_id_ qual_id ->
    let _loc_qual_id_ = (_startpos_qual_id_, _endpos_qual_id_) in
    (
# 807 "fstar-guts/FStarC_Parser_Parse.mly"
    (
      let (aqual, attrs), lid = qual_id in
      mk_pattern (PatVar (lid, aqual, attrs)) (rr _loc_qual_id_) )
# 5750 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_091 =
  fun _endpos_qual_id_ _startpos_qual_id_ qual_id ->
    let _loc_qual_id_ = (_startpos_qual_id_, _endpos_qual_id_) in
    (
# 811 "fstar-guts/FStarC_Parser_Parse.mly"
    (
      let (aqual, attrs), _ = qual_id in
      mk_pattern (PatWild (aqual, attrs)) (rr _loc_qual_id_) )
# 5761 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_092 =
  fun _endpos_uid_ _startpos_uid_ uid ->
    let _loc_uid_ = (_startpos_uid_, _endpos_uid_) in
    (
# 815 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (PatName uid) (rr _loc_uid_) )
# 5770 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_093 =
  fun x ->
    (
# 1533 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5778 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_094 =
  fun x ->
    (
# 1535 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5786 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_095 =
  fun x ->
    (
# 1537 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5794 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_096 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1571 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( mk_term Wild (rr _loc) Un )
# 5805 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_097 =
  fun _endpos_c_ _startpos_c_ c ->
    let _endpos = _endpos_c_ in
    let _startpos = _startpos_c_ in
    let _loc = (_startpos, _endpos) in
    (
# 1572 "fstar-guts/FStarC_Parser_Parse.mly"
               ( mk_term (Const c) (rr _loc) Expr )
# 5816 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_098 =
  fun x ->
    (
# 1574 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 5824 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_099 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5836 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5844 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_100 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ op ->
    let op = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 5852 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5859 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_101 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 5871 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5879 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_102 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 5891 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5899 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_103 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 5912 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5918 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5926 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_104 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 5939 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 5945 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5953 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_105 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 5966 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5972 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 5980 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_106 =
  fun _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op ->
    let op =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 5993 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 5999 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1576 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [])) (rr2 _loc__1_ _loc__3_) Un )
# 6007 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_107 =
  fun _endpos__1_ _endpos__5_ _startpos__1_ _startpos__5_ e0 el ->
    let _loc__5_ = (_startpos__5_, _endpos__5_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1578 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkDTuple (e0::el) (rr2 _loc__1_ _loc__5_) )
# 6017 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_108 =
  fun _endpos_e_ _endpos_field_projs_ _startpos_e_ _startpos_field_projs_ e field_projs ->
    let _loc_field_projs_ = (_startpos_field_projs_, _endpos_field_projs_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1580 "fstar-guts/FStarC_Parser_Parse.mly"
      ( fold_left (fun e lid -> mk_term (Project(e, lid)) (rr2 _loc_e_ _loc_field_projs_) Expr ) e field_projs )
# 6027 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_109 =
  fun e ->
    (
# 1582 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 6035 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_110 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 1560 "fstar-guts/FStarC_Parser_Parse.mly"
    (
        let t = Name id in
        let e = mk_term t (rr _loc_id_) Un in
              e
    )
# 6048 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_111 =
  fun _endpos__4_ _endpos_id_ _startpos__4_ _startpos_id_ id t ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    let _loc__4_ = (_startpos__4_, _endpos__4_) in
    (
# 1566 "fstar-guts/FStarC_Parser_Parse.mly"
    (
      mk_term (LetOpen (id, t)) (rr2 _loc_id_ _loc__4_) Expr
    )
# 6060 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_112 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1682 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term Wild (rr _loc) Expr )
# 6071 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_113 =
  fun _endpos_n_ _startpos_n_ n ->
    let _loc_n_ = (_startpos_n_, _endpos_n_) in
    (
# 1684 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        mk_term (Const (Const_int (n, None))) (rr _loc_n_) Expr
      )
# 6082 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_114 =
  fun u ->
    (
# 1687 "fstar-guts/FStarC_Parser_Parse.mly"
             ( mk_term (Uvar u) (range_of_id u) Expr )
# 6090 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_115 =
  fun u ->
    (
# 1689 "fstar-guts/FStarC_Parser_Parse.mly"
    ( u (*mk_term (Paren u) (rr2 $loc($1) $loc($3)) Expr*) )
# 6098 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_116 =
  fun lb ->
    let attr = 
# 123 "<standard.mly>"
    ( None )
# 6106 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 569 "fstar-guts/FStarC_Parser_Parse.mly"
    ( attr, lb )
# 6111 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_ option *
  (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))))

let _menhir_action_117 =
  fun lb x ->
    let attr = 
# 126 "<standard.mly>"
    ( Some x )
# 6120 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 569 "fstar-guts/FStarC_Parser_Parse.mly"
    ( attr, lb )
# 6125 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_ option *
  (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))))

let _menhir_action_118 =
  fun _endpos__3_ _startpos__1_ x ->
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 338 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let _ =
            match x with
            | _::_::_ ->
                  log_issue_text (rr _loc) Warning_DeprecatedAttributeSyntax old_attribute_syntax_warning
            | _ -> () in
         x
      )
# 6144 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_))

let _menhir_action_119 =
  fun l ->
    let x = 
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 6152 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 347 "fstar-guts/FStarC_Parser_Parse.mly"
      ( x )
# 6157 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_))

let _menhir_action_120 =
  fun l ->
    let t = 
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 6165 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 744 "fstar-guts/FStarC_Parser_Parse.mly"
                                               ( t )
# 6170 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.attributes_))

let _menhir_action_121 =
  fun bss ->
    (
# 885 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( flatten bss )
# 6178 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_122 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1434 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6189 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_123 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1435 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6200 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_124 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1436 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6211 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_125 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1437 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("=", rr _loc) )
# 6222 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_126 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1438 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6233 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_127 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1439 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6244 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_128 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1440 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6255 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_129 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1441 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6266 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_130 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1442 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6277 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_131 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1443 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6288 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_132 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1444 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("==>", rr _loc) )
# 6299 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_133 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1445 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("/\\", rr _loc) )
# 6310 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_134 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1446 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("\\/", rr _loc) )
# 6321 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_135 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1447 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("<==>", rr _loc) )
# 6332 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_136 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1448 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (":=", rr _loc) )
# 6343 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_137 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1449 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident ("::", rr _loc) )
# 6354 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_138 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1450 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6365 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_139 =
  fun _endpos_o_ _startpos_o_ o ->
    let _endpos = _endpos_o_ in
    let _startpos = _startpos_o_ in
    let _loc = (_startpos, _endpos) in
    (
# 1451 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( mk_ident (o, rr _loc) )
# 6376 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_140 =
  fun () ->
    (
# 134 "<standard.mly>"
    ( false )
# 6384 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_141 =
  fun () ->
    (
# 137 "<standard.mly>"
    ( true )
# 6392 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_142 =
  fun _endpos_i_ _startpos_i_ i ->
    let _loc_i_ = (_startpos_i_, _endpos_i_) in
    (
# 1211 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( mk_term (Op (i, [])) (rr _loc_i_) Expr )
# 6401 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_143 =
  fun _endpos__3_ _startpos__1_ id ->
    let _endpos = _endpos__3_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1212 "fstar-guts/FStarC_Parser_Parse.mly"
                                 ( mk_term (Var id) (rr _loc) Un )
# 6412 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_144 =
  fun t ->
    (
# 1213 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 6420 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_145 =
  fun _endpos__2_ _endpos__4_ _startpos__2_ _startpos__4_ justif next rel ->
    let _loc__4_ = (_startpos__4_, _endpos__4_) in
    let _loc__2_ = (_startpos__2_, _endpos__2_) in
    (
# 1218 "fstar-guts/FStarC_Parser_Parse.mly"
     (
         let justif =
             match justif with
             | Some t -> t
             | None -> mk_term (Const Const_unit) (rr2 _loc__2_ _loc__4_) Expr
         in
         CalcStep (rel, justif, next)
     )
# 6437 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.calc_step))

let _menhir_action_146 =
  fun e ->
    (
# 1349 "fstar-guts/FStarC_Parser_Parse.mly"
      ( [e] )
# 6445 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_147 =
  fun e rest ->
    (
# 1351 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e :: rest )
# 6453 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_148 =
  fun pats ->
    (
# 1256 "fstar-guts/FStarC_Parser_Parse.mly"
                                                              ( pats )
# 6461 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_149 =
  fun () ->
    (
# 1633 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Const_unit )
# 6469 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_150 =
  fun n ->
    (
# 1635 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        Const_int (n, None)
     )
# 6479 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_151 =
  fun c ->
    (
# 1638 "fstar-guts/FStarC_Parser_Parse.mly"
           ( Const_char c )
# 6487 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_152 =
  fun _endpos_s_ _startpos_s_ s ->
    let _endpos = _endpos_s_ in
    let _startpos = _startpos_s_ in
    let _loc = (_startpos, _endpos) in
    (
# 1639 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_string (s, rr _loc) )
# 6498 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_153 =
  fun () ->
    (
# 1640 "fstar-guts/FStarC_Parser_Parse.mly"
         ( Const_bool true )
# 6506 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_154 =
  fun () ->
    (
# 1641 "fstar-guts/FStarC_Parser_Parse.mly"
          ( Const_bool false )
# 6514 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_155 =
  fun r ->
    (
# 1642 "fstar-guts/FStarC_Parser_Parse.mly"
           ( Const_real r )
# 6522 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_156 =
  fun n ->
    (
# 1643 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Int8)) )
# 6530 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_157 =
  fun n ->
    (
# 1644 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Signed,   Int8)) )
# 6538 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_158 =
  fun n ->
    (
# 1645 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Int16)) )
# 6546 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_159 =
  fun n ->
    (
# 1646 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Signed,   Int16)) )
# 6554 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_160 =
  fun n ->
    (
# 1647 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Int32)) )
# 6562 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_161 =
  fun n ->
    (
# 1648 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Signed,   Int32)) )
# 6570 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_162 =
  fun n ->
    (
# 1649 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Int64)) )
# 6578 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_163 =
  fun n ->
    (
# 1650 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Signed,   Int64)) )
# 6586 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_164 =
  fun n ->
    (
# 1651 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Const_int (n, Some (Unsigned, Sizet)) )
# 6594 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_165 =
  fun () ->
    (
# 1653 "fstar-guts/FStarC_Parser_Parse.mly"
            ( Const_reify None )
# 6602 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_166 =
  fun () ->
    (
# 1654 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( Const_range_of )
# 6610 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_167 =
  fun () ->
    (
# 1655 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( Const_set_range_of )
# 6618 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.sconst))

let _menhir_action_168 =
  fun payload uid ->
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 6626 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 565 "fstar-guts/FStarC_Parser_Parse.mly"
    ( uid, payload, none_to_empty_list attrs_opt )
# 6631 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name *
  FStarC_Parser_AST.constructor_payload option *
  FStarC_Parser_AST.attributes_))

let _menhir_action_169 =
  fun payload uid x ->
    let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 6641 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 565 "fstar-guts/FStarC_Parser_Parse.mly"
    ( uid, payload, none_to_empty_list attrs_opt )
# 6646 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name *
  FStarC_Parser_AST.constructor_payload option *
  FStarC_Parser_AST.attributes_))

let _menhir_action_170 =
  fun _endpos_pats_ _startpos_pat_ _startpos_pats_ pat pats ->
    let _endpos = _endpos_pats_ in
    let _startpos = _startpos_pat_ in
    let _loc_pats_ = (_startpos_pats_, _endpos_pats_) in
    let _loc = (_startpos, _endpos) in
    (
# 761 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_pattern (consPat (rr _loc_pats_) pat pats) (rr _loc) )
# 6660 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_171 =
  fun _endpos_args_ _endpos_uid_ _startpos_uid_ args uid ->
    let _endpos = _endpos_args_ in
    let _startpos = _startpos_uid_ in
    let _loc_uid_ = (_startpos_uid_, _endpos_uid_) in
    let _loc = (_startpos, _endpos) in
    (
# 763 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let head_pat = mk_pattern (PatName uid) (rr _loc_uid_) in
        mk_pattern (PatApp (head_pat, args)) (rr _loc)
      )
# 6675 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_172 =
  fun pat ->
    (
# 768 "fstar-guts/FStarC_Parser_Parse.mly"
      ( pat )
# 6683 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_173 =
  fun t ->
    (
# 557 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpArbitrary  t)
# 6691 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

let _menhir_action_174 =
  fun t ->
    (
# 558 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpOfNotation t)
# 6699 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

let _menhir_action_175 =
  fun opt record_field_decls ->
    let fields = 
# 535 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 6707 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 559 "fstar-guts/FStarC_Parser_Parse.mly"
                                                        (VpRecord(fields, opt))
# 6712 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload))

let _menhir_action_176 =
  fun _endpos_e_ _startpos__1_ e lid ->
    let phi = 
# 1477 "fstar-guts/FStarC_Parser_Parse.mly"
                ( {e with level=Formula} )
# 6720 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _endpos_phi_ = _endpos_e_ in
    let _endpos = _endpos_phi_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 359 "fstar-guts/FStarC_Parser_Parse.mly"
      ( [mk_decl (Assume(lid, phi)) (rr _loc) [ Qualifier Assumption ]] )
# 6729 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_177 =
  fun _endpos_blob_ _startpos_blob_ blob ->
    let _endpos = _endpos_blob_ in
    let _startpos = _startpos_blob_ in
    let _loc = (_startpos, _endpos) in
    (
# 362 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let ext_name, contents, pos, snap = blob in
        (* blob_range is the full range of the blob, starting from the #lang pragma *)
        let blob_range = rr (snd snap, snd _loc) in
        (* extension_syntax_start_range is where the extension syntax starts not including
           the "#lang ident" prefix *)
        let extension_syntax_start_range = (rr (pos, pos)) in
        let ds = parse_use_lang_blob ext_name contents blob_range extension_syntax_start_range in
        mk_decl (UseLangDecls ext_name) extension_syntax_start_range [] :: ds
      )
# 6749 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_178 =
  fun _endpos_decl_ _startpos_decl_ decl ds ->
    let _loc_decl_ = (_startpos_decl_, _endpos_decl_) in
    (
# 374 "fstar-guts/FStarC_Parser_Parse.mly"
      ( [mk_decl decl (rr _loc_decl_) ds] )
# 6758 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_179 =
  fun _endpos_decl_ _startpos_decl_ decl ds ->
    let _loc_decl_ = (_startpos_decl_, _endpos_decl_) in
    (
# 377 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let (decl, extra_attrs) = decl in
        let d = mk_decl decl (rr _loc_decl_) ds in
        [{ d with attrs = extra_attrs @ d.attrs }]
      )
# 6770 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_180 =
  fun x ->
    (
# 352 "fstar-guts/FStarC_Parser_Parse.mly"
      ( DeclAttributes x )
# 6778 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration))

let _menhir_action_181 =
  fun x ->
    (
# 354 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Qualifier x )
# 6786 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration))

let _menhir_action_182 =
  fun pats ->
    (
# 1253 "fstar-guts/FStarC_Parser_Parse.mly"
                                                              ( pats )
# 6794 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_183 =
  fun pats ->
    (
# 752 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    ( pats )
# 6802 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_184 =
  fun _endpos_e_ _startpos_lid_ action_params e lid ->
    let t = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6810 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _endpos_t_ = _endpos_e_ in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_lid_ in
    let _loc = (_startpos, _endpos) in
    (
# 651 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_decl (Tycon (false, false, [TyconAbbrev(lid, action_params, None, t)])) (rr _loc) [] )
# 6819 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl))

let _menhir_action_185 =
  fun bs eds lid typ ->
    (
# 620 "fstar-guts/FStarC_Parser_Parse.mly"
    ( DefineEffect(lid, bs, typ, eds) )
# 6827 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_186 =
  fun e lid ->
    let t = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 6835 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 614 "fstar-guts/FStarC_Parser_Parse.mly"
    ( RedefineEffect(lid, [], t) )
# 6840 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_187 =
  fun x y ->
    let p = 
# 180 "<standard.mly>"
    ( (x, y) )
# 6848 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 819 "fstar-guts/FStarC_Parser_Parse.mly"
      ( p )
# 6853 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern))

let _menhir_action_188 =
  fun _endpos_lid_ _startpos_lid_ lid ->
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    (
# 821 "fstar-guts/FStarC_Parser_Parse.mly"
      ( lid, mk_pattern (PatVar (ident_of_lid lid, None, [])) (rr _loc_lid_) )
# 6862 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern))

let _menhir_action_189 =
  fun constraints ->
    (
# 1771 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let constraint_as_pat (c:tc_constraint) =
          let w = mk_pattern (PatVar (c.id, Some TypeClassArg, [])) c.r in
          let asc = (c.t, None) in
          mk_pattern (PatAscribed(w, asc)) c.r
        in
        List.map constraint_as_pat constraints
      )
# 6877 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_190 =
  fun pat ->
    (
# 1780 "fstar-guts/FStarC_Parser_Parse.mly"
                      ( [pat] )
# 6885 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_191 =
  fun _endpos__8_ _endpos_t_ _startpos__1_ _startpos_t_ cts qual_id0 qual_ids r t ->
    let _endpos = _endpos__8_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc = (_startpos, _endpos) in
    (
# 1788 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let qual_ids = qual_id0 :: qual_ids in
        let pos = rr _loc in
        let n = List.length qual_ids in
        let pats = List.mapi (fun idx ((aq, attrs), x) ->
          let pat = mk_pattern (PatVar (x, aq, attrs)) pos in
          let refine_opt = if idx = Int.sub n 1 then r else None in
          mkRefinedPattern pat t true refine_opt (rr _loc_t_) pos
        ) qual_ids in
        let names = List.map (fun ((_, _), x) -> x) qual_ids in
        pats @ expand_inline_constraints cts names
      )
# 6908 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_192 =
  fun _endpos__8_ _endpos_pat_ _endpos_t_ _startpos__1_ _startpos_pat_ _startpos_t_ cts pat r t ->
    let _endpos = _endpos__8_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    let _loc = (_startpos, _endpos) in
    (
# 1807 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pos_t = rr2 _loc_pat_ _loc_t_ in
        let p = mkRefinedPattern pat t true r pos_t (rr _loc) in
        let names = pat_names [p] in
        [p] @ expand_inline_constraints cts names
      )
# 6926 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_193 =
  fun () ->
    (
# 1626 "fstar-guts/FStarC_Parser_Parse.mly"
            ( Type_level )
# 6934 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.level))

let _menhir_action_194 =
  fun d snap ->
    (
# 270 "fstar-guts/FStarC_Parser_Parse.mly"
     ( d, snap )
# 6942 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list * FStarC_Sedlexing.snap option))

let _menhir_action_195 =
  fun x ->
    (
# 911 "fstar-guts/FStarC_Parser_Parse.mly"
             ( x )
# 6950 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_196 =
  fun x ->
    (
# 912 "fstar-guts/FStarC_Parser_Parse.mly"
              ( x )
# 6958 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_197 =
  fun () ->
    (
# 935 "fstar-guts/FStarC_Parser_Parse.mly"
       (None)
# 6966 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_198 =
  fun _endpos_op_ _startpos_op_ op ->
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    (
# 936 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Some (mk_ident ("let" ^ op, rr _loc_op_)) )
# 6975 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_199 =
  fun e1 op_exprs ->
    (
# 1522 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        List.fold_left (fun e1 (op, e2, r) ->
            mk_term (Op(op, [ e1; e2 ])) (union_ranges e1.range r) Expr)
            e1 op_exprs
      )
# 6987 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_200 =
  fun e ->
    (
# 1528 "fstar-guts/FStarC_Parser_Parse.mly"
    ( e )
# 6995 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_201 =
  fun decls ->
    (
# 260 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        as_frag (List.flatten decls)
      )
# 7005 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.inputFragment))

let _menhir_action_202 =
  fun t ->
    (
# 972 "fstar-guts/FStarC_Parser_Parse.mly"
                      ( {t with level=Kind} )
# 7013 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_203 =
  fun bs lid r ->
    (
# 624 "fstar-guts/FStarC_Parser_Parse.mly"
    (
      let typ =  (* bs -> Effect *)
        let first_b, last_b =
          match bs with
          | [] ->
             raise_error_text (range_of_id lid) Fatal_SyntaxError
                          "Syntax error: unexpected empty binders list in the layered effect definition"
          | _ -> hd bs, last bs in
        let r = union_ranges first_b.brange last_b.brange in
        mk_term (Product (bs, mk_term (Name (lid_of_str "Effect")) r Type_level)) r Type_level in
      let rec decls (r:term) =
        match r.tm with
        | Paren r -> decls r
        | Record (None, flds) ->
           flds |> List.map (fun (lid, t) ->
                              mk_decl (Tycon (false,
                                              false,
                                              [TyconAbbrev (ident_of_lid lid, [], None, t)]))
                                      t.range [])
        | _ ->
           raise_error_text r.range Fatal_SyntaxError
                        "Syntax error: layered effect combinators should be declared as a record"
      in
      DefineEffect (lid, [], typ, decls r) )
# 7044 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_204 =
  fun _endpos_focus_opt_ _endpos_id_ _endpos_lbp_ _endpos_tm_ _startpos_focus_opt_ _startpos_id_ _startpos_lbp_ _startpos_tm_ ascr_opt focus_opt id lbp tm ->
    let lid = 
# 921 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 7052 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_lid_, _startpos_lid_) = (_endpos_id_, _startpos_id_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7069 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_205 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 7082 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7088 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_lid_, _startpos_lid_) = (_endpos__3_, _startpos__1_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7106 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_206 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 7115 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7120 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_lid_, _startpos_lid_) = (_endpos__3_, _startpos__1_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7138 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_207 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 7151 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7157 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_lid_, _startpos_lid_) = (_endpos__3_, _startpos__1_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7175 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_208 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 7188 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7194 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_lid_, _startpos_lid_) = (_endpos__3_, _startpos__1_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7212 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_209 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 7226 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 7232 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7238 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_lid_, _startpos_lid_) = (_endpos__3_, _startpos__1_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7256 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_210 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 7270 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 7276 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7282 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_lid_, _startpos_lid_) = (_endpos__3_, _startpos__1_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7300 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_211 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 7314 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 7320 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7326 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_lid_, _startpos_lid_) = (_endpos__3_, _startpos__1_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7344 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_212 =
  fun _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 7358 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 7364 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 7370 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_lid_, _startpos_lid_) = (_endpos__3_, _startpos__1_) in
    let _loc_tm_ = (_startpos_tm_, _endpos_tm_) in
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc_lbp_ = (_startpos_lbp_, _endpos_lbp_) in
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    (
# 590 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = mk_pattern (PatVar(lid, None, [])) (rr _loc_lid_) in
        let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 _loc_focus_opt_ _loc_lbp_) in
        let pos = rr2 _loc_focus_opt_ _loc_tm_ in
        match ascr_opt with
        | None -> (focus_opt, (pat, tm))
        | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm))
      )
# 7388 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_213 =
  fun _endpos_eq_ _endpos_focus_opt_ _startpos_eq_ _startpos_focus_opt_ ascr eq focus_opt pat tm ->
    let _loc_focus_opt_ = (_startpos_focus_opt_, _endpos_focus_opt_) in
    let _loc_eq_ = (_startpos_eq_, _endpos_eq_) in
    (
# 599 "fstar-guts/FStarC_Parser_Parse.mly"
      ( focus_opt, (mk_pattern (PatAscribed(pat, ascr)) (rr2 _loc_focus_opt_ _loc_eq_), tm) )
# 7398 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_214 =
  fun focus_opt pat tm ->
    (
# 601 "fstar-guts/FStarC_Parser_Parse.mly"
      ( focus_opt, (pat, tm) )
# 7406 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))

let _menhir_action_215 =
  fun _endpos_ascr_opt_ _endpos_pat_ _startpos_ascr_opt_ _startpos_pat_ ascr_opt pat tm ->
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    let _loc_ascr_opt_ = (_startpos_ascr_opt_, _endpos_ascr_opt_) in
    (
# 573 "fstar-guts/FStarC_Parser_Parse.mly"
    (
        let h tm
	  = ( ( match ascr_opt with
              | None   -> pat
              | Some t -> mk_pattern (PatAscribed(pat, t)) (rr2 _loc_pat_ _loc_ascr_opt_) )
	    , tm)
	in
	match pat.pat, tm with
        | _               , Some tm -> h tm
        | PatVar (v, _, _), None    ->
          let v = lid_of_ns_and_id [] v in
          h (mk_term (Var v) (rr _loc_pat_) Expr)
        | _ -> raise_error_text (rr _loc_ascr_opt_) Fatal_SyntaxError "Syntax error: let-punning expects a name, not a pattern"
    )
# 7429 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))

let _menhir_action_216 =
  fun () ->
    (
# 730 "fstar-guts/FStarC_Parser_Parse.mly"
                ( Rec )
# 7437 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.let_qualifier))

let _menhir_action_217 =
  fun () ->
    (
# 731 "fstar-guts/FStarC_Parser_Parse.mly"
                ( NoLetQualifier )
# 7445 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.let_qualifier))

let _menhir_action_218 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 945 "fstar-guts/FStarC_Parser_Parse.mly"
             ( mk_ident(id, rr _loc_id_))
# 7454 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_219 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 940 "fstar-guts/FStarC_Parser_Parse.mly"
             ( mk_ident(id, rr _loc_id_))
# 7463 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_220 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 941 "fstar-guts/FStarC_Parser_Parse.mly"
               ( gen (rr _loc) )
# 7474 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_221 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7482 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))
  list))

let _menhir_action_222 =
  fun _endpos_op_ _startpos_op_ b op xs ->
    let x =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 7497 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1098 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                           ((op, b))
# 7503 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7509 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ))
  list))

let _menhir_action_223 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7519 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var list))

let _menhir_action_224 =
  fun id xs ->
    let x = 
# 1579 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    (id)
# 7527 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7532 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var list))

let _menhir_action_225 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7540 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_226 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7548 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_227 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7556 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.attributes_ option *
   (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))
  list))

let _menhir_action_228 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7566 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.attributes_ option *
   (bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)))
  list))

let _menhir_action_229 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7576 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.calc_step list))

let _menhir_action_230 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7584 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.calc_step list))

let _menhir_action_231 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7592 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   FStarC_Parser_AST.constructor_payload option *
   FStarC_Parser_AST.attributes_)
  list))

let _menhir_action_232 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7603 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name *
   FStarC_Parser_AST.constructor_payload option *
   FStarC_Parser_AST.attributes_)
  list))

let _menhir_action_233 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7614 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list list))

let _menhir_action_234 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7622 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list list))

let _menhir_action_235 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7630 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration list))

let _menhir_action_236 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7638 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decoration list))

let _menhir_action_237 =
  fun () ->
    (
# 216 "<standard.mly>"
    ( [] )
# 7646 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list list))

let _menhir_action_238 =
  fun x xs ->
    (
# 219 "<standard.mly>"
    ( x :: xs )
# 7654 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list list))

let _menhir_action_239 =
  fun () ->
    (
# 1003 "fstar-guts/FStarC_Parser_Parse.mly"
           ( LocalRec )
# 7662 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.local_let_qualifier))

let _menhir_action_240 =
  fun () ->
    (
# 1004 "fstar-guts/FStarC_Parser_Parse.mly"
           ( LocalUnfold )
# 7670 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.local_let_qualifier))

let _menhir_action_241 =
  fun () ->
    (
# 1005 "fstar-guts/FStarC_Parser_Parse.mly"
           ( LocalNoLetQualifier )
# 7678 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.local_let_qualifier))

let _menhir_action_242 =
  fun () ->
    (
# 931 "fstar-guts/FStarC_Parser_Parse.mly"
          (None)
# 7686 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_243 =
  fun _endpos_op_ _startpos_op_ op ->
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    (
# 932 "fstar-guts/FStarC_Parser_Parse.mly"
                ( Some (mk_ident ("let" ^ op, rr _loc_op_)) )
# 7695 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_244 =
  fun as_opt t ->
    (
# 999 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   (as_opt,t,false)
# 7703 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool))

let _menhir_action_245 =
  fun as_opt t ->
    (
# 1000 "fstar-guts/FStarC_Parser_Parse.mly"
                                                      (as_opt,t,true)
# 7711 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool))

let _menhir_action_246 =
  fun b ->
    (
# 727 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( b )
# 7719 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_247 =
  fun () ->
    (
# 1262 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( false )
# 7727 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_248 =
  fun () ->
    (
# 1263 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( true )
# 7735 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool))

let _menhir_action_249 =
  fun constraints ->
    (
# 848 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let constraint_as_binder (c:tc_constraint) =
          mk_binder (Annotated (c.id, c.t)) c.r Type_level (Some TypeClassArg)
        in
        List.map constraint_as_binder constraints
      )
# 7748 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_250 =
  fun _endpos__7_ _startpos__1_ cts qual_ids r t ->
    let _endpos = _endpos__7_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 859 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let n = List.length qual_ids in
       let bs = List.mapi (fun idx ((q, attrs), x) ->
         let refine_opt = if idx = Int.sub n 1 then r else None in
         mkRefinedBinder x t true refine_opt (rr _loc) q attrs
       ) qual_ids in
       let names = List.map (fun ((_, _), x) -> x) qual_ids in
       let cts_binders = List.map pattern_must_be_binder
                           (expand_inline_constraints cts names) in
       bs @ cts_binders
     )
# 7769 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_251 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 872 "fstar-guts/FStarC_Parser_Parse.mly"
    (
      let r = rr _loc in
      let unit_t = unit_type r in
      [mk_binder (Annotated (gen r, unit_t)) r Type_level None]
    )
# 7784 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_252 =
  fun _endpos_aqualifiedWithAttrs_lid_ _startpos_aqualifiedWithAttrs_lid_ aqualifiedWithAttrs_lid ->
    let _loc_aqualifiedWithAttrs_lid_ = (_startpos_aqualifiedWithAttrs_lid_, _endpos_aqualifiedWithAttrs_lid_) in
    (
# 879 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let (q, attrs), lid = aqualifiedWithAttrs_lid in
       [mk_binder_with_attrs (Variable lid) (rr _loc_aqualifiedWithAttrs_lid_) Type_level q attrs]
     )
# 7796 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_253 =
  fun ed ->
    (
# 610 "fstar-guts/FStarC_Parser_Parse.mly"
    ( ed )
# 7804 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_254 =
  fun ed ->
    (
# 610 "fstar-guts/FStarC_Parser_Parse.mly"
    ( ed )
# 7812 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.effect_decl))

let _menhir_action_255 =
  fun t ->
    (
# 1009 "fstar-guts/FStarC_Parser_Parse.mly"
                          ( t )
# 7820 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_256 =
  fun _endpos_e_ _startpos_e_ e t ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1011 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Ascribed(e,{t with level=Expr},None,false)) (rr _loc_e_) Expr )
# 7829 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_257 =
  fun _endpos_e_ _endpos_tactic_ _startpos_e_ _startpos_tactic_ e t tactic ->
    let _loc_tactic_ = (_startpos_tactic_, _endpos_tactic_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1013 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Ascribed(e,{t with level=Expr},Some tactic,false)) (rr2 _loc_e_ _loc_tactic_) Expr )
# 7839 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_258 =
  fun _endpos_e_ _endpos_t_ _startpos_e_ e t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_e_ in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc = (_startpos, _endpos) in
    (
# 1015 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        log_issue_text (rr _loc) Warning_BleedingEdge_Feature
		      "Equality type ascriptions is an experimental feature subject to redesign in the future";
        mk_term (Ascribed(e,{t with level=Expr},None,true)) (rr _loc_e_) Expr
      )
# 7855 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_259 =
  fun _endpos_e_ _endpos_tactic_ _startpos_e_ _startpos_tactic_ e t tactic ->
    let _endpos = _endpos_tactic_ in
    let _startpos = _startpos_e_ in
    let _loc_tactic_ = (_startpos_tactic_, _endpos_tactic_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc = (_startpos, _endpos) in
    (
# 1021 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        log_issue_text (rr _loc) Warning_BleedingEdge_Feature
		      "Equality type ascriptions is an experimental feature subject to redesign in the future";
        mk_term (Ascribed(e,{t with level=Expr},Some tactic,true)) (rr2 _loc_e_ _loc_tactic_) Expr
      )
# 7872 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_260 =
  fun _endpos__3_inlined1_ _endpos_e1_ _endpos_e3_ _endpos_op_ _startpos__3_inlined1_ _startpos_e1_ _startpos_e3_ _startpos_op_ e e1 e3 op ->
    let op_expr =
      let (_endpos__3_, _startpos__3_) = (_endpos__3_inlined1_, _startpos__3_inlined1_) in
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1727 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".()", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7884 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1027 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let (op, e2, _) = op_expr in
        let opid = mk_ident (string_of_id op ^ "<-", range_of_id op) in
        mk_term (Op(opid, [ e1; e2; e3 ])) (rr2 _loc_e1_ _loc_e3_) Expr
      )
# 7896 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_261 =
  fun _endpos__3_inlined1_ _endpos_e1_ _endpos_e3_ _endpos_op_ _startpos__3_inlined1_ _startpos_e1_ _startpos_e3_ _startpos_op_ e e1 e3 op ->
    let op_expr =
      let (_endpos__3_, _startpos__3_) = (_endpos__3_inlined1_, _startpos__3_inlined1_) in
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1728 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".[]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7908 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1027 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let (op, e2, _) = op_expr in
        let opid = mk_ident (string_of_id op ^ "<-", range_of_id op) in
        mk_term (Op(opid, [ e1; e2; e3 ])) (rr2 _loc_e1_ _loc_e3_) Expr
      )
# 7920 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_262 =
  fun _endpos__3_inlined1_ _endpos_e1_ _endpos_e3_ _endpos_op_ _startpos__3_inlined1_ _startpos_e1_ _startpos_e3_ _startpos_op_ e e1 e3 op ->
    let op_expr =
      let (_endpos__3_, _startpos__3_) = (_endpos__3_inlined1_, _startpos__3_inlined1_) in
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1729 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( mk_ident (".[||]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7932 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1027 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let (op, e2, _) = op_expr in
        let opid = mk_ident (string_of_id op ^ "<-", range_of_id op) in
        mk_term (Op(opid, [ e1; e2; e3 ])) (rr2 _loc_e1_ _loc_e3_) Expr
      )
# 7944 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_263 =
  fun _endpos__3_inlined1_ _endpos_e1_ _endpos_e3_ _endpos_op_ _startpos__3_inlined1_ _startpos_e1_ _startpos_e3_ _startpos_op_ e e1 e3 op ->
    let op_expr =
      let (_endpos__3_, _startpos__3_) = (_endpos__3_inlined1_, _startpos__3_inlined1_) in
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1730 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( mk_ident (".(||)", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 7956 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1027 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let (op, e2, _) = op_expr in
        let opid = mk_ident (string_of_id op ^ "<-", range_of_id op) in
        mk_term (Op(opid, [ e1; e2; e3 ])) (rr2 _loc_e1_ _loc_e3_) Expr
      )
# 7968 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_264 =
  fun _endpos__1_ _endpos_t_ _startpos__1_ _startpos_t_ t ->
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1033 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Requires t) (rr2 _loc__1_ _loc_t_) Type_level )
# 7978 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_265 =
  fun _endpos__1_ _endpos_t_ _startpos__1_ _startpos_t_ t ->
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1035 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Ensures t) (rr2 _loc__1_ _loc_t_) Type_level )
# 7988 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_266 =
  fun _endpos__1_ _endpos_t_ _startpos__1_ _startpos_t_ t ->
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1037 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Decreases t) (rr2 _loc__1_ _loc_t_) Type_level )
# 7998 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_267 =
  fun _endpos__1_ _endpos__4_ _endpos_t_ _startpos__1_ _startpos__4_ _startpos_t_ t ->
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc__4_ = (_startpos__4_, _endpos__4_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1045 "fstar-guts/FStarC_Parser_Parse.mly"
      ( match t.tm with
        | App (t1, t2, _) ->
          let ot = mk_term (WFOrder (t1, t2)) (rr2 _loc_t_ _loc_t_) Type_level in
          mk_term (Decreases ot) (rr2 _loc__1_ _loc__4_) Type_level
        | _ ->
          raise_error_text (rr _loc_t_) Fatal_SyntaxError
            "Syntax error: To use well-founded relations, write e1 e2"
      )
# 8016 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_268 =
  fun _endpos__1_ _endpos_es_ _startpos__1_ _startpos_es_ es ->
    let _loc_es_ = (_startpos_es_, _endpos_es_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1055 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Attributes es) (rr2 _loc__1_ _loc_es_) Type_level )
# 8026 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_269 =
  fun _endpos_e3_ _endpos_op_ _startpos_e3_ _startpos_op_ e1 e2 e3 op ret_opt ->
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc_e3_ = (_startpos_e3_, _endpos_e3_) in
    (
# 1057 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (If(e1, op, ret_opt, e2, e3)) (rr2 _loc_op_ _loc_e3_) Expr )
# 8036 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_270 =
  fun _endpos_e2_ _endpos_op_ _startpos_e2_ _startpos_op_ e1 e2 op ret_opt ->
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    (
# 1059 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let e3 = mk_term (Const Const_unit) (rr2 _loc_op_ _loc_e2_) Expr in
        mk_term (If(e1, op, ret_opt, e2, e3)) (rr2 _loc_op_ _loc_e2_) Expr
      )
# 8049 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_271 =
  fun _endpos__1_ _endpos_xs_ _startpos__1_ _startpos_xs_ e1 xs ->
    let pbs = 
# 1765 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 8057 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_pbs_, _startpos_pbs_) = (_endpos_xs_, _startpos_xs_) in
    let _loc_pbs_ = (_startpos_pbs_, _endpos_pbs_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1065 "fstar-guts/FStarC_Parser_Parse.mly"
      (
         let branches = focusBranches (pbs) (rr2 _loc__1_ _loc_pbs_) in
         mk_term (TryWith(e1, branches)) (rr2 _loc__1_ _loc_pbs_) Expr
      )
# 8068 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_272 =
  fun _endpos_op_ _endpos_xs_ _startpos_op_ _startpos_xs_ e op ret_opt xs ->
    let pbs = 
# 1755 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 8076 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_pbs_, _startpos_pbs_) = (_endpos_xs_, _startpos_xs_) in
    let _loc_pbs_ = (_startpos_pbs_, _endpos_pbs_) in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    (
# 1071 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let branches = focusBranches pbs (rr2 _loc_op_ _loc_pbs_) in
        mk_term (Match(e, op, ret_opt, branches)) (rr2 _loc_op_ _loc_pbs_) Expr
      )
# 8087 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_273 =
  fun _endpos__1_ _endpos_e_ _endpos_t_ _startpos__1_ _startpos_e_ _startpos_t_ e t ->
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1076 "fstar-guts/FStarC_Parser_Parse.mly"
      (
            match t.tm with
            | Ascribed(r, rty, None, _) ->
              mk_term (LetOpenRecord(r, rty, e)) (rr2 _loc__1_ _loc_e_) Expr

            | Name uid ->
              mk_term (LetOpen(uid, e)) (rr2 _loc__1_ _loc_e_) Expr

            | _ ->
              raise_error_text (rr _loc_t_) Fatal_SyntaxError
                "Syntax error: local opens expects either opening\n\
                 a module or namespace using `let open T in e`\n\
                 or, a record type with `let open e <: t in e'`"
      )
# 8111 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_274 =
  fun _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q ->
    let attrs = 
# 123 "<standard.mly>"
    ( None )
# 8119 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _startpos_attrs_ = _endpos__0_ in
    let _endpos = _endpos_e_ in
    let _startpos = _startpos_attrs_ in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_lb_ = (_startpos_lb_, _endpos_lb_) in
    let _loc = (_startpos, _endpos) in
    (
# 1093 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let lbs = (attrs, lb)::lbs in
        let lbs = focusAttrLetBindings lbs (rr2 _loc_q_ _loc_lb_) in
        mk_term (Let(q, lbs, e)) (rr _loc) Expr
      )
# 8134 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_275 =
  fun _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ _startpos_x_ e lb lbs q x ->
    let attrs = 
# 126 "<standard.mly>"
    ( Some x )
# 8142 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _startpos_attrs_ = _startpos_x_ in
    let _endpos = _endpos_e_ in
    let _startpos = _startpos_attrs_ in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_lb_ = (_startpos_lb_, _endpos_lb_) in
    let _loc = (_startpos, _endpos) in
    (
# 1093 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let lbs = (attrs, lb)::lbs in
        let lbs = focusAttrLetBindings lbs (rr2 _loc_q_ _loc_lb_) in
        mk_term (Let(q, lbs, e)) (rr _loc) Expr
      )
# 8157 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_276 =
  fun _endpos_e_ _endpos_op_ _startpos_e_ _startpos_op_ b e lbs op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 8169 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1099 "fstar-guts/FStarC_Parser_Parse.mly"
    ( let lbs = (op, b)::lbs in
      mk_term (LetOperator ( List.map (fun (op, (pat, tm)) -> (op, pat, tm)) lbs
			   , e)) (rr2 _loc_op_ _loc_e_) Expr
    )
# 8180 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_277 =
  fun _endpos__1_ _endpos_xs_ _startpos__1_ _startpos_xs_ xs ->
    let pbs = 
# 1765 "fstar-guts/FStarC_Parser_Parse.mly"
   ( List.rev xs )
# 8188 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_pbs_, _startpos_pbs_) = (_endpos_xs_, _startpos_xs_) in
    let _endpos = _endpos_pbs_ in
    let _startpos = _startpos__1_ in
    let _loc_pbs_ = (_startpos_pbs_, _endpos_pbs_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    let _loc = (_startpos, _endpos) in
    (
# 1105 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let branches = focusBranches pbs (rr2 _loc__1_ _loc_pbs_) in
        mk_function branches (rr _loc) (rr2 _loc__1_ _loc_pbs_)
      )
# 8202 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_278 =
  fun _endpos_a_ _endpos_e_ _startpos_a_ a e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos_a_ in
    let _loc_a_ = (_startpos_a_, _endpos_a_) in
    let _loc = (_startpos, _endpos) in
    (
# 1110 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let a = set_lid_range assume_lid (rr _loc_a_) in
        mkExplicitApp (mk_term (Var a) (rr _loc_a_) Expr) [e] (rr _loc)
      )
# 8216 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_279 =
  fun _endpos_a_ _endpos_e_ _startpos_a_ a e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos_a_ in
    let _loc_a_ = (_startpos_a_, _endpos_a_) in
    let _loc = (_startpos, _endpos) in
    (
# 1115 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let a = set_lid_range assert_lid (rr _loc_a_) in
        mkExplicitApp (mk_term (Var a) (rr _loc_a_) Expr) [e] (rr _loc)
      )
# 8231 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_280 =
  fun _endpos_a_ _endpos_tactic_ _startpos_a_ a e tactic ->
    let _endpos = _endpos_tactic_ in
    let _startpos = _startpos_a_ in
    let _loc_a_ = (_startpos_a_, _endpos_a_) in
    let _loc = (_startpos, _endpos) in
    (
# 1121 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let a = set_lid_range assert_by_tactic_lid (rr _loc_a_) in
        mkExplicitApp (mk_term (Var a) (rr _loc_a_) Expr) [e; tactic] (rr _loc)
      )
# 8246 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_281 =
  fun _endpos_tactic_ _endpos_u_ _startpos_u_ tactic u ->
    let _endpos = _endpos_tactic_ in
    let _startpos = _startpos_u_ in
    let _loc_u_ = (_startpos_u_, _endpos_u_) in
    let _loc = (_startpos, _endpos) in
    (
# 1127 "fstar-guts/FStarC_Parser_Parse.mly"
     (
         let a = set_lid_range synth_lid (rr _loc_u_) in
         mkExplicitApp (mk_term (Var a) (rr _loc_u_) Expr) [tactic] (rr _loc)
     )
# 8261 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_282 =
  fun _endpos_s_ _endpos_tactic_ _startpos_s_ s tactic ->
    let _endpos = _endpos_tactic_ in
    let _startpos = _startpos_s_ in
    let _loc_s_ = (_startpos_s_, _endpos_s_) in
    let _loc = (_startpos, _endpos) in
    (
# 1133 "fstar-guts/FStarC_Parser_Parse.mly"
     (
         let a = set_lid_range synth_lid (rr _loc_s_) in
         mkExplicitApp (mk_term (Var a) (rr _loc_s_) Expr) [tactic] (rr _loc)
     )
# 8276 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_283 =
  fun _endpos__1_ _endpos__7_ _startpos__1_ _startpos__7_ init rel steps ->
    let _loc__7_ = (_startpos__7_, _endpos__7_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1139 "fstar-guts/FStarC_Parser_Parse.mly"
     (
         mk_term (CalcProof (rel, init, steps)) (rr2 _loc__1_ _loc__7_) Expr
     )
# 8288 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_284 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ bs e p ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1144 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (IntroForall(bs, p, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8300 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_285 =
  fun _endpos__1_ _endpos_e_ _endpos_vs_ _startpos__1_ _startpos_e_ _startpos_vs_ bs e p vs ->
    let _loc_vs_ = (_startpos_vs_, _endpos_vs_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1149 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        if List.length bs <> List.length vs
        then raise_error_text (rr _loc_vs_) Fatal_SyntaxError "Syntax error: expected instantiations for all binders"
        else mk_term (IntroExists(bs, p, vs, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8315 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_286 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e p q y ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1156 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (IntroImplies(p, q, y, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8327 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_287 =
  fun _endpos__1_ _endpos_e_ _endpos_lr_ _startpos__1_ _startpos_e_ _startpos_lr_ e lr p q ->
    let _loc_lr_ = (_startpos_lr_, _endpos_lr_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1161 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        let b =
            if lr = "Left" then true
            else if lr = "Right" then false
            else raise_error_text (rr _loc_lr_) Fatal_SyntaxError "Syntax error: _intro_ \\/ expects either 'Left' or 'Right'"
        in
        mk_term (IntroOr(b, p, q, e))  (rr2 _loc__1_ _loc_e_) Expr
     )
# 8345 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_288 =
  fun _endpos__1_ _endpos_e2_ _startpos__1_ _startpos_e2_ e1 e2 p q ->
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1171 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (IntroAnd(p, q, e1, e2))  (rr2 _loc__1_ _loc_e2_) Expr
     )
# 8357 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_289 =
  fun _endpos__1_ _endpos_vs_ _startpos__1_ _startpos_vs_ p vs xs ->
    let _loc_vs_ = (_startpos_vs_, _endpos_vs_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1176 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (ElimForall(xs, p, vs)) (rr2 _loc__1_ _loc_vs_) Expr
     )
# 8369 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_290 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ bs e p q y ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1181 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (ElimExists(bs, p, q, y, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8381 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_291 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e p q ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1186 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (ElimImplies(p, q, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8393 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_292 =
  fun _endpos__1_ _endpos_e2_ _startpos__1_ _startpos_e2_ e1 e2 p q r x y ->
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1191 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        mk_term (ElimOr(p, q, r, x, e1, y, e2)) (rr2 _loc__1_ _loc_e2_) Expr
     )
# 8405 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_293 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e p q r xs ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1196 "fstar-guts/FStarC_Parser_Parse.mly"
     (
        match xs with
        | [x;y] -> mk_term (ElimAnd(p, q, r, x, y, e)) (rr2 _loc__1_ _loc_e_) Expr
     )
# 8418 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_294 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8426 "fstar-guts/FStarC_Parser_Parse.ml"
     : (((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
   FStarC_Syntax_Syntax.univ_name)
  list))

let _menhir_action_295 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8436 "fstar-guts/FStarC_Parser_Parse.ml"
     : (((FStarC_Parser_AST.arg_qualifier option * FStarC_Parser_AST.typ list) *
   FStarC_Syntax_Syntax.univ_name)
  list))

let _menhir_action_296 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8446 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_297 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8454 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_298 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8462 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_299 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8470 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_300 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8478 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_301 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8486 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_302 =
  fun _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1727 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".()", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8497 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8503 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_303 =
  fun _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1728 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".[]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8516 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8522 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_304 =
  fun _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1729 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( mk_ident (".[||]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8535 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8541 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_305 =
  fun _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1730 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( mk_ident (".(||)", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8554 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8560 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_306 =
  fun _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op xs ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1727 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".()", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8573 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8579 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_307 =
  fun _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op xs ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1728 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( mk_ident (".[]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8592 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8598 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_308 =
  fun _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op xs ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1729 "fstar-guts/FStarC_Parser_Parse.mly"
                                        ( mk_ident (".[||]", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8611 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8617 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_309 =
  fun _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op xs ->
    let x =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      let _loc__3_ = (_startpos__3_, _endpos__3_) in
      
# 1730 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( mk_ident (".(||)", rr _loc_op_), e, rr2 _loc_op_ _loc__3_ )
# 8630 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8636 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.typ *
   FStarC_Range_Type.t)
  list))

let _menhir_action_310 =
  fun x ->
    (
# 228 "<standard.mly>"
    ( [ x ] )
# 8646 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list list))

let _menhir_action_311 =
  fun x xs ->
    (
# 231 "<standard.mly>"
    ( x :: xs )
# 8654 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list list))

let _menhir_action_312 =
  fun () ->
    (
# 265 "fstar-guts/FStarC_Parser_Parse.mly"
        ( None )
# 8662 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.decl list * FStarC_Sedlexing.snap option) option))

let _menhir_action_313 =
  fun ds ->
    (
# 266 "fstar-guts/FStarC_Parser_Parse.mly"
             ( Some ds )
# 8670 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.decl list * FStarC_Sedlexing.snap option) option))

let _menhir_action_314 =
  fun _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e pats ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1547 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Abs(flatten pats, e)) (rr2 _loc__1_ _loc_e_) Un )
# 8680 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_315 =
  fun _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e ->
    let trigger = 
# 1249 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 8688 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let q = 
# 1233 "fstar-guts/FStarC_Parser_Parse.mly"
           ( fun x -> QForall x )
# 8693 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_q_, _startpos_q_) = (_endpos__1_, _startpos__1_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1549 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8709 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_316 =
  fun _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e pats ->
    let trigger = 
# 1250 "fstar-guts/FStarC_Parser_Parse.mly"
                                                     ( pats )
# 8717 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let q = 
# 1233 "fstar-guts/FStarC_Parser_Parse.mly"
           ( fun x -> QForall x )
# 8722 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_q_, _startpos_q_) = (_endpos__1_, _startpos__1_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1549 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8738 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_317 =
  fun _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e ->
    let trigger = 
# 1249 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 8746 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let q = 
# 1234 "fstar-guts/FStarC_Parser_Parse.mly"
           ( fun x -> QExists x)
# 8751 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_q_, _startpos_q_) = (_endpos__1_, _startpos__1_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1549 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8767 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_318 =
  fun _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e pats ->
    let trigger = 
# 1250 "fstar-guts/FStarC_Parser_Parse.mly"
                                                     ( pats )
# 8775 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let q = 
# 1234 "fstar-guts/FStarC_Parser_Parse.mly"
           ( fun x -> QExists x)
# 8780 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_q_, _startpos_q_) = (_endpos__1_, _startpos__1_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1549 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8796 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_319 =
  fun _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op ->
    let trigger = 
# 1249 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 8804 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let q =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      
# 1236 "fstar-guts/FStarC_Parser_Parse.mly"
    ( 
      let op = mk_ident("forall" ^ op, rr _loc_op_) in
      fun (x,y,z) -> QuantOp (op, x, y, z)
    )
# 8814 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_q_, _startpos_q_) = (_endpos_op_, _startpos_op_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1549 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8831 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_320 =
  fun _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op pats ->
    let trigger = 
# 1250 "fstar-guts/FStarC_Parser_Parse.mly"
                                                     ( pats )
# 8839 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let q =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      
# 1236 "fstar-guts/FStarC_Parser_Parse.mly"
    ( 
      let op = mk_ident("forall" ^ op, rr _loc_op_) in
      fun (x,y,z) -> QuantOp (op, x, y, z)
    )
# 8849 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_q_, _startpos_q_) = (_endpos_op_, _startpos_op_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1549 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8866 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_321 =
  fun _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op ->
    let trigger = 
# 1249 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 8874 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let q =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      
# 1241 "fstar-guts/FStarC_Parser_Parse.mly"
    ( 
      let op = mk_ident("exists" ^ op, rr _loc_op_) in
      fun (x,y,z) -> QuantOp (op, x, y, z)
    )
# 8884 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_q_, _startpos_q_) = (_endpos_op_, _startpos_op_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1549 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8901 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_322 =
  fun _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op pats ->
    let trigger = 
# 1250 "fstar-guts/FStarC_Parser_Parse.mly"
                                                     ( pats )
# 8909 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let q =
      let _loc_op_ = (_startpos_op_, _endpos_op_) in
      
# 1241 "fstar-guts/FStarC_Parser_Parse.mly"
    ( 
      let op = mk_ident("exists" ^ op, rr _loc_op_) in
      fun (x,y,z) -> QuantOp (op, x, y, z)
    )
# 8919 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_q_, _startpos_q_) = (_endpos_op_, _startpos_op_) in
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    (
# 1549 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        match bs with
        | [] ->
          raise_error_text (rr2 _loc_q_ _loc__3_) Fatal_MissingQuantifierBinder "Missing binders for a quantifier"
        | _ ->
          let idents = idents_of_binders bs (rr2 _loc_q_ _loc__3_) in
          mk_term (q (bs, (idents, trigger), e)) (rr2 _loc_q_ _loc_e_) Formula
      )
# 8936 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_323 =
  fun _endpos_e_ _endpos_op_ _startpos_e_ _startpos_op_ e op ->
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1587 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e])) (rr2 _loc_op_ _loc_e_) Expr )
# 8946 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_324 =
  fun _endpos_e_ _endpos_op_ _startpos_e_ _startpos_op_ e op ->
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1587 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e])) (rr2 _loc_op_ _loc_e_) Expr )
# 8956 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_325 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 8964 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_326 =
  fun id ->
    let x =
      let id = 
# 926 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 8973 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 8978 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 8984 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_327 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 8998 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9004 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 9010 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9016 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_328 =
  fun op ->
    let x =
      let id =
        let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 9026 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9031 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 9037 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9043 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_329 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 9057 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9063 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 9069 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9075 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_330 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 9089 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9095 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 9101 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9107 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_331 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 9122 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 9128 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9134 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 9140 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9146 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_332 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 9161 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 9167 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9173 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 9179 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9185 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_333 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 9200 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 9206 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9212 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 9218 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9224 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_334 =
  fun _endpos_op_ _startpos_op_ op ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 9239 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 9245 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 9251 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                  (id)
# 9257 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9263 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.ident_alias))

let _menhir_action_335 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9271 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_336 =
  fun e ->
    let x =
      let phi = 
# 1477 "fstar-guts/FStarC_Parser_Parse.mly"
                ( {e with level=Formula} )
# 9280 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1474 "fstar-guts/FStarC_Parser_Parse.mly"
                                             (phi)
# 9285 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9291 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_337 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9299 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_338 =
  fun t ->
    let x = 
# 499 "fstar-guts/FStarC_Parser_Parse.mly"
                                               (t)
# 9307 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9312 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_339 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9320 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_340 =
  fun t ->
    let x = 
# 559 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   (t)
# 9328 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9333 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_341 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9341 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_342 =
  fun tm ->
    let x = 
# 572 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                   (tm)
# 9349 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9354 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_343 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9362 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_344 =
  fun tactic ->
    let x = 
# 964 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        (tactic)
# 9370 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9375 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_345 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9383 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_346 =
  fun i ->
    let x = 
# 999 "fstar-guts/FStarC_Parser_Parse.mly"
                              (i)
# 9391 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9396 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_347 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9404 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_348 =
  fun i ->
    let x = 
# 1000 "fstar-guts/FStarC_Parser_Parse.mly"
                              (i)
# 9412 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9417 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name option))

let _menhir_action_349 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9425 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_350 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9433 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_351 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9441 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option) option))

let _menhir_action_352 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9449 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.typ * FStarC_Parser_AST.typ option) option))

let _menhir_action_353 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9457 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload option))

let _menhir_action_354 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9465 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.constructor_payload option))

let _menhir_action_355 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9473 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool)
  option))

let _menhir_action_356 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9482 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name option * FStarC_Parser_AST.typ * bool)
  option))

let _menhir_action_357 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9491 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.level * FStarC_Parser_AST.typ) option))

let _menhir_action_358 =
  fun e x ->
    let x =
      let y = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9500 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 172 "<standard.mly>"
    ( (x, y) )
# 9505 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 114 "<standard.mly>"
    ( Some x )
# 9511 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.level * FStarC_Parser_AST.typ) option))

let _menhir_action_359 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9519 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string option))

let _menhir_action_360 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9527 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string option))

let _menhir_action_361 =
  fun () ->
    (
# 111 "<standard.mly>"
    ( None )
# 9535 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_362 =
  fun x ->
    (
# 114 "<standard.mly>"
    ( Some x )
# 9543 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_363 =
  fun id ->
    (
# 906 "fstar-guts/FStarC_Parser_Parse.mly"
          ( [id] )
# 9551 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_364 =
  fun p uid ->
    (
# 907 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( uid::p )
# 9559 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_365 =
  fun id ->
    (
# 906 "fstar-guts/FStarC_Parser_Parse.mly"
          ( [id] )
# 9567 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_366 =
  fun p uid ->
    (
# 907 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( uid::p )
# 9575 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Ident.ipath))

let _menhir_action_367 =
  fun _endpos_pat_ _startpos_pat_ e focus pat ->
    let when_opt = 
# 1276 "fstar-guts/FStarC_Parser_Parse.mly"
                         ( None )
# 9583 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    (
# 1267 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = match pat with
          | [p] -> p
          | ps -> mk_pattern (PatOr ps) (rr2 _loc_pat_ _loc_pat_)
        in
        (focus, (pat, when_opt, e))
      )
# 9595 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * FStarC_Parser_AST.branch))

let _menhir_action_368 =
  fun _endpos_pat_ _startpos_pat_ e e_inlined1 focus pat ->
    let when_opt =
      let e = e_inlined1 in
      
# 1277 "fstar-guts/FStarC_Parser_Parse.mly"
                         ( Some e )
# 9605 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_pat_ = (_startpos_pat_, _endpos_pat_) in
    (
# 1267 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let pat = match pat with
          | [p] -> p
          | ps -> mk_pattern (PatOr ps) (rr2 _loc_pat_ _loc_pat_)
        in
        (focus, (pat, when_opt, e))
      )
# 9618 "fstar-guts/FStarC_Parser_Parse.ml"
     : (bool * FStarC_Parser_AST.branch))

let _menhir_action_369 =
  fun e m_eff n_eff p_eff ->
    let bind = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9626 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 685 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (m_eff, n_eff, p_eff, bind) )
# 9631 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Syntax_Syntax.var *
  FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ))

let _menhir_action_370 =
  fun e m_eff n_eff ->
    let subcomp = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 9640 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 689 "fstar-guts/FStarC_Parser_Parse.mly"
    ( (m_eff, n_eff, subcomp) )
# 9645 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ))

let _menhir_action_371 =
  fun () ->
    (
# 318 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ShowOptions )
# 9653 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_372 =
  fun s ->
    (
# 320 "fstar-guts/FStarC_Parser_Parse.mly"
      ( SetOptions s )
# 9661 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_373 =
  fun s_opt ->
    (
# 322 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ResetOptions s_opt )
# 9669 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_374 =
  fun s_opt ->
    (
# 324 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PushOptions s_opt )
# 9677 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_375 =
  fun () ->
    (
# 326 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PopOptions )
# 9685 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_376 =
  fun () ->
    (
# 328 "fstar-guts/FStarC_Parser_Parse.mly"
      ( RestartSolver )
# 9693 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_377 =
  fun () ->
    (
# 330 "fstar-guts/FStarC_Parser_Parse.mly"
      ( PrintEffectsGraph )
# 9701 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_378 =
  fun t ->
    (
# 332 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Check t )
# 9709 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_379 =
  fun t ->
    (
# 334 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Eval t )
# 9717 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pragma))

let _menhir_action_380 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9725 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_381 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9733 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_382 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9741 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_383 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9749 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_384 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9757 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_385 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9765 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_386 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9773 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_387 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9781 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_388 =
  fun () ->
    (
# 310 "fstar-guts/FStarC_Parser_Parse.mly"
     ( () )
# 9789 "fstar-guts/FStarC_Parser_Parse.ml"
     : (unit))

let _menhir_action_389 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 1592 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = if is_name id then Name id else Var id in
         mk_term t (rr _loc_id_) Un
      )
# 9801 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_390 =
  fun _endpos__1_ _endpos__4_ _startpos__1_ _startpos__4_ e sort_opt ->
    let _loc__4_ = (_startpos__4_, _endpos__4_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1598 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Note: we have to keep the parentheses here. Consider t * u * v. This
         * is parsed as Op2( *, Op2( *, t, u), v). The desugaring phase then looks
         * up * and figures out that it hasn't been overridden, meaning that
         * it's a tuple type, and proceeds to flatten out the whole tuple. Now
         * consider (t * u) * v. We keep the Paren node, which prevents the
         * flattening from happening, hence ensuring the proper type is
         * generated. *)
        let e1 = match sort_opt with
          | None -> e
          | Some (level, t) -> mk_term (Ascribed(e,{t with level=level},None,false)) (rr2 _loc__1_ _loc__4_) level
        in mk_term (Paren e1) (rr2 _loc__1_ _loc__4_) (e.level)
      )
# 9823 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_391 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9831 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1612 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkListLit (rr2 _loc__1_ _loc__3_) es )
# 9838 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_392 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9846 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1614 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkSeqLit (rr2 _loc__1_ _loc__3_) es )
# 9853 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_393 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l ->
    let es = 
# 1630 "fstar-guts/FStarC_Parser_Parse.mly"
                                                ( l )
# 9861 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1616 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (LexList es) (rr2 _loc__1_ _loc__3_) Type_level )
# 9868 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_394 =
  fun _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ es ->
    let _loc__3_ = (_startpos__3_, _endpos__3_) in
    let _loc__1_ = (_startpos__1_, _endpos__1_) in
    (
# 1618 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkRefSet (rr2 _loc__1_ _loc__3_) es )
# 9878 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_395 =
  fun _endpos_id_ _endpos_ns_ _startpos_id_ _startpos_ns_ id ns ->
    let _loc_ns_ = (_startpos_ns_, _endpos_ns_) in
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 1620 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Projector (ns, id)) (rr2 _loc_ns_ _loc_id_) Expr )
# 9888 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_396 =
  fun _endpos__2_ _endpos_lid_ _startpos__2_ _startpos_lid_ lid ->
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    let _loc__2_ = (_startpos__2_, _endpos__2_) in
    (
# 1622 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Discrim lid) (rr2 _loc_lid_ _loc__2_) Un )
# 9898 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_397 =
  fun ids ->
    (
# 899 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( lid_of_ids ids )
# 9906 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_398 =
  fun qid ->
    (
# 915 "fstar-guts/FStarC_Parser_Parse.mly"
                ( qid )
# 9914 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_399 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 9926 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9932 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_400 =
  fun op ->
    let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 9940 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9945 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_401 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 9957 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9963 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_402 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 9975 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 9981 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_403 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 9994 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10000 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10006 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_404 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 10019 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10025 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10031 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_405 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 10044 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10050 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10056 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_406 =
  fun _endpos_op_ _startpos_op_ op ->
    let id =
      let op =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 10069 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10075 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 917 "fstar-guts/FStarC_Parser_Parse.mly"
    ( lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) )
# 10081 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_407 =
  fun () ->
    (
# 697 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Assumption )
# 10089 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_408 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 698 "fstar-guts/FStarC_Parser_Parse.mly"
                  (
    raise_error_text (rr _loc) Fatal_InlineRenamedAsUnfold
      "The 'inline' qualifier has been renamed to 'unfold'"
  )
# 10103 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_409 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 702 "fstar-guts/FStarC_Parser_Parse.mly"
                  (
    raise_error_text (rr _loc) Fatal_UnfoldableDeprecated
      "The 'unfoldable' qualifier is no longer denotable; it is the default qualifier so just omit it"
  )
# 10117 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_410 =
  fun () ->
    (
# 706 "fstar-guts/FStarC_Parser_Parse.mly"
                          (
     Inline_for_extraction
  )
# 10127 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_411 =
  fun () ->
    (
# 709 "fstar-guts/FStarC_Parser_Parse.mly"
           (
     Unfold_for_unification_and_vcgen
  )
# 10137 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_412 =
  fun () ->
    (
# 712 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Irreducible )
# 10145 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_413 =
  fun () ->
    (
# 713 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( NoExtract )
# 10153 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_414 =
  fun () ->
    (
# 714 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( TotalEffect )
# 10161 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_415 =
  fun () ->
    (
# 715 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Private )
# 10169 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_416 =
  fun () ->
    (
# 717 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Noeq )
# 10177 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_417 =
  fun () ->
    (
# 718 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Unopteq )
# 10185 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_418 =
  fun () ->
    (
# 719 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( New )
# 10193 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_419 =
  fun _endpos__1_ _startpos__1_ ->
    let _endpos = _endpos__1_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 720 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( log_issue_text (rr _loc) Warning_logicqualifier logic_qualifier_deprecation_warning;
                    Logic )
# 10205 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_420 =
  fun () ->
    (
# 722 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Opaque )
# 10213 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_421 =
  fun () ->
    (
# 723 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Reifiable )
# 10221 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_422 =
  fun () ->
    (
# 724 "fstar-guts/FStarC_Parser_Parse.mly"
                  ( Reflectable )
# 10229 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.qualifier))

let _menhir_action_423 =
  fun ids ->
    (
# 903 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( lid_of_ids ids )
# 10237 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var))

let _menhir_action_424 =
  fun p ->
    (
# 458 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Pragma p )
# 10245 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_425 =
  fun r uid ->
    (
# 460 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Open (uid, r) )
# 10253 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_426 =
  fun uid ->
    (
# 462 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Friend uid )
# 10261 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_427 =
  fun r uid ->
    (
# 464 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Include (uid, r) )
# 10269 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_428 =
  fun uid ->
    (
# 466 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Open (uid, FStarC_Syntax_Syntax.AllowList []) )
# 10277 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_429 =
  fun uid1 uid2 ->
    (
# 468 "fstar-guts/FStarC_Parser_Parse.mly"
      ( ModuleAbbrev(uid1, uid2) )
# 10285 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_430 =
  fun _endpos_q_ _startpos_q_ q ->
    let _loc_q_ = (_startpos_q_, _endpos_q_) in
    (
# 470 "fstar-guts/FStarC_Parser_Parse.mly"
      ( raise_error_text (rr _loc_q_) Fatal_SyntaxError "Syntax error: expected a module name" )
# 10294 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_431 =
  fun uid ->
    (
# 472 "fstar-guts/FStarC_Parser_Parse.mly"
      (  TopLevelModule uid )
# 10302 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_432 =
  fun tcdefs ->
    (
# 474 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Tycon (false, false, tcdefs) )
# 10310 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_433 =
  fun t tparams uid ->
    (
# 476 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Tycon(true, false, [(TyconAbbrev(uid, tparams, None, t))]) )
# 10318 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_434 =
  fun _endpos_lbs_ _startpos__1_ lbs q ->
    let _endpos = _endpos_lbs_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 478 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let r = rr _loc in
        let lbs = focusLetBindings lbs r in
        TopLevelLet(q, lbs)
      )
# 10333 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_435 =
  fun _endpos_c_ _startpos__1_ c ->
    let _endpos = _endpos_c_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 484 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* This is just to provide a better error than "syntax error" *)
        raise_error_text (rr _loc) Fatal_SyntaxError "Syntax error: constants are not allowed in val declarations"
      )
# 10347 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_436 =
  fun _endpos_bs_ _endpos_t_ _startpos_bs_ _startpos_t_ bs id t ->
    let lid = 
# 921 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 10355 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10367 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_437 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10380 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10386 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10399 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_438 =
  fun _endpos_bs_ _endpos_t_ _startpos_bs_ _startpos_t_ bs op t ->
    let lid =
      let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 10408 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10413 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10426 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_439 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10439 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10445 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10458 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_440 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 10471 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10477 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10490 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_441 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 10504 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10510 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10516 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10529 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_442 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 10543 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 10549 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10555 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10568 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_443 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 10582 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10588 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10594 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10607 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_444 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 10621 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 10627 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10633 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 489 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in Val(lid, t)
      )
# 10646 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_445 =
  fun ids t ->
    (
# 496 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Splice (false, ids, t) )
# 10654 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_446 =
  fun ids t ->
    (
# 498 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Splice (true, ids, t) )
# 10662 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_447 =
  fun lid t_opt ->
    (
# 500 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Exception(lid, t_opt) )
# 10670 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_448 =
  fun ne ->
    (
# 502 "fstar-guts/FStarC_Parser_Parse.mly"
      ( NewEffect ne )
# 10678 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_449 =
  fun ne ->
    (
# 504 "fstar-guts/FStarC_Parser_Parse.mly"
      ( LayeredEffect ne )
# 10686 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_450 =
  fun ne ->
    (
# 506 "fstar-guts/FStarC_Parser_Parse.mly"
      ( LayeredEffect ne )
# 10694 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_451 =
  fun se ->
    (
# 508 "fstar-guts/FStarC_Parser_Parse.mly"
      ( SubEffect se )
# 10702 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_452 =
  fun b ->
    (
# 510 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Polymonadic_bind b )
# 10710 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_453 =
  fun c ->
    (
# 512 "fstar-guts/FStarC_Parser_Parse.mly"
      ( Polymonadic_subcomp c )
# 10718 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_454 =
  fun _endpos_blob_ _startpos_blob_ blob ->
    let _endpos = _endpos_blob_ in
    let _startpos = _startpos_blob_ in
    let _loc = (_startpos, _endpos) in
    (
# 514 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let ext_name, contents, pos, snap = blob in
        (* blob_range is the full range of the blob, including the enclosing ``` *)
        let blob_range = rr (snd snap, snd _loc) in
        (* extension_syntax_start_range is where the extension syntax starts not including
           the "```ident" prefix *)
        let extension_syntax_start_range = (rr (pos, pos)) in
        parse_extension_blob ext_name contents blob_range extension_syntax_start_range
      )
# 10737 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl'))

let _menhir_action_455 =
  fun _endpos_record_fields_ _startpos_record_fields_ record_fields ->
    let _loc_record_fields_ = (_startpos_record_fields_, _endpos_record_fields_) in
    (
# 1482 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Record (None, record_fields)) (rr _loc_record_fields_) Expr )
# 10746 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_456 =
  fun _endpos_e_ _endpos_record_fields_ _startpos_e_ _startpos_record_fields_ e record_fields ->
    let _loc_record_fields_ = (_startpos_record_fields_, _endpos_record_fields_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1484 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Record (Some e, record_fields)) (rr2 _loc_e_ _loc_record_fields_) Expr )
# 10756 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_457 =
  fun qualified_lid t ->
    (
# 551 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let (qual, attrs), lid = qualified_lid in
        (lid, qual, attrs, t)
      )
# 10767 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.aqual *
  FStarC_Parser_AST.attributes_ * FStarC_Parser_AST.typ))

let _menhir_action_458 =
  fun phi_opt ->
    (
# 1474 "fstar-guts/FStarC_Parser_Parse.mly"
                                                    (phi_opt)
# 10776 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ option))

let _menhir_action_459 =
  fun ids ->
    (
# 453 "fstar-guts/FStarC_Parser_Parse.mly"
      ( FStarC_Syntax_Syntax.AllowList ids )
# 10784 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.restriction))

let _menhir_action_460 =
  fun () ->
    (
# 454 "fstar-guts/FStarC_Parser_Parse.mly"
      ( FStarC_Syntax_Syntax.Unrestricted  )
# 10792 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.restriction))

let _menhir_action_461 =
  fun () ->
    (
# 1747 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [] )
# 10800 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * FStarC_Parser_AST.branch) list))

let _menhir_action_462 =
  fun pb ->
    let x = 
# 1069 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                             (pb)
# 10808 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1749 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 10813 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * FStarC_Parser_AST.branch) list))

let _menhir_action_463 =
  fun pb xs ->
    let x = 
# 1069 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                             (pb)
# 10821 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1751 "fstar-guts/FStarC_Parser_Parse.mly"
   ( x :: xs )
# 10826 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * FStarC_Parser_AST.branch) list))

let _menhir_action_464 =
  fun x ->
    let _1 = 
# 123 "<standard.mly>"
    ( None )
# 10834 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1759 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 10839 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * FStarC_Parser_AST.branch) list))

let _menhir_action_465 =
  fun x x_inlined1 ->
    let _1 =
      let x = x_inlined1 in
      
# 126 "<standard.mly>"
    ( Some x )
# 10849 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1759 "fstar-guts/FStarC_Parser_Parse.mly"
   ( [x] )
# 10855 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * FStarC_Parser_AST.branch) list))

let _menhir_action_466 =
  fun x xs ->
    (
# 1761 "fstar-guts/FStarC_Parser_Parse.mly"
   ( x :: xs )
# 10863 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * FStarC_Parser_AST.branch) list))

let _menhir_action_467 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 10871 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_468 =
  fun id renamed ->
    let x =
      let id = 
# 926 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 10880 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10885 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10891 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_469 =
  fun _endpos_op_ _startpos_op_ op renamed ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10905 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10911 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10917 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10923 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_470 =
  fun op renamed ->
    let x =
      let id =
        let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 10933 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10938 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10944 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10950 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_471 =
  fun _endpos_op_ _startpos_op_ op renamed ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 10964 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 10970 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 10976 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 10982 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_472 =
  fun _endpos_op_ _startpos_op_ op renamed ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 10996 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11002 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11008 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11014 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_473 =
  fun _endpos_op_ _startpos_op_ op renamed ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 11029 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11035 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11041 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11047 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11053 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_474 =
  fun _endpos_op_ _startpos_op_ op renamed ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 11068 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11074 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11080 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11086 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11092 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_475 =
  fun _endpos_op_ _startpos_op_ op renamed ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 11107 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11113 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11119 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11125 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11131 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_476 =
  fun _endpos_op_ _startpos_op_ op renamed ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 11146 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11152 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11158 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11164 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11170 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_477 =
  fun id renamed xs ->
    let x =
      let id = 
# 926 "fstar-guts/FStarC_Parser_Parse.mly"
             ( id )
# 11179 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11184 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11190 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_478 =
  fun _endpos_op_ _startpos_op_ op renamed xs ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 11204 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11210 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11216 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11222 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_479 =
  fun op renamed xs ->
    let x =
      let id =
        let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 11232 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11237 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11243 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11249 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_480 =
  fun _endpos_op_ _startpos_op_ op renamed xs ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 11263 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11269 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11275 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11281 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_481 =
  fun _endpos_op_ _startpos_op_ op renamed xs ->
    let x =
      let id =
        let id =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 11295 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11301 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11307 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11313 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_482 =
  fun _endpos_op_ _startpos_op_ op renamed xs ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 11328 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11334 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11340 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11346 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11352 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_483 =
  fun _endpos_op_ _startpos_op_ op renamed xs ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 11367 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 11373 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11379 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11385 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11391 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_484 =
  fun _endpos_op_ _startpos_op_ op renamed xs ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 11406 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11412 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11418 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11424 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11430 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_485 =
  fun _endpos_op_ _startpos_op_ op renamed xs ->
    let x =
      let id =
        let id =
          let op =
            let _endpos = _endpos_op_ in
            let _startpos = _startpos_op_ in
            let _loc = (_startpos, _endpos) in
            
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 11445 "fstar-guts/FStarC_Parser_Parse.ml"
            
          in
          
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 11451 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 928 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 11457 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 452 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                                         ((id, renamed))
# 11463 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11469 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Syntax_Syntax.ident_alias) list))

let _menhir_action_486 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11477 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_487 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11485 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_488 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11493 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_489 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11501 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_490 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11509 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_491 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11517 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_492 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11525 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_493 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11533 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_494 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11541 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_495 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11549 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern) list))

let _menhir_action_496 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11557 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern) list))

let _menhir_action_497 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11565 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.pattern) list))

let _menhir_action_498 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11573 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_499 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11581 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_500 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11589 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name list))

let _menhir_action_501 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11597 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_502 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11605 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_503 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11613 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_504 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11621 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.aqual *
   FStarC_Parser_AST.attributes_ * FStarC_Parser_AST.typ)
  list))

let _menhir_action_505 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11631 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.aqual *
   FStarC_Parser_AST.attributes_ * FStarC_Parser_AST.typ)
  list))

let _menhir_action_506 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11641 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.univ_name * FStarC_Parser_AST.aqual *
   FStarC_Parser_AST.attributes_ * FStarC_Parser_AST.typ)
  list))

let _menhir_action_507 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11651 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_508 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11659 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_509 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11667 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_510 =
  fun () ->
    (
# 1736 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [] )
# 11675 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_511 =
  fun x ->
    (
# 1737 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11683 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_512 =
  fun x xs ->
    (
# 1738 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11691 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_513 =
  fun x ->
    (
# 1741 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11699 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_514 =
  fun x xs ->
    (
# 1742 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11707 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_515 =
  fun x ->
    (
# 1741 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11715 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_516 =
  fun x xs ->
    (
# 1742 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11723 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_517 =
  fun x ->
    (
# 1741 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11731 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon_record))

let _menhir_action_518 =
  fun x xs ->
    (
# 1742 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11739 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon_record))

let _menhir_action_519 =
  fun x ->
    (
# 1741 "fstar-guts/FStarC_Parser_Parse.mly"
        ( [x] )
# 11747 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_520 =
  fun x xs ->
    (
# 1742 "fstar-guts/FStarC_Parser_Parse.mly"
                                           ( x :: xs )
# 11755 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ) list))

let _menhir_action_521 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11763 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)) list))

let _menhir_action_522 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11771 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((bool * (FStarC_Parser_AST.pattern * FStarC_Parser_AST.typ)) list))

let _menhir_action_523 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11779 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon list))

let _menhir_action_524 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11787 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon list))

let _menhir_action_525 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11795 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_526 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11803 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_527 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11811 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_528 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11819 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern list))

let _menhir_action_529 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11827 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_530 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11835 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_531 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11843 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_532 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11851 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list list))

let _menhir_action_533 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11859 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_534 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11867 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_535 =
  fun x ->
    (
# 250 "<standard.mly>"
    ( [ x ] )
# 11875 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_536 =
  fun x xs ->
    (
# 253 "<standard.mly>"
    ( x :: xs )
# 11883 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl list))

let _menhir_action_537 =
  fun _endpos_dom_ _endpos_tgt_ _startpos_dom_ _startpos_tgt_ dom tgt ->
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1310 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 11900 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_538 =
  fun e ->
    (
# 1318 "fstar-guts/FStarC_Parser_Parse.mly"
                       ( e )
# 11908 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_539 =
  fun t ->
    (
# 1321 "fstar-guts/FStarC_Parser_Parse.mly"
                                             ( ((Some TypeClassArg, []), t) )
# 11916 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_540 =
  fun dom_tm ->
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 11925 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 11930 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1322 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 11935 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_541 =
  fun dom_tm x ->
    let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 11944 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 11949 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1322 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 11954 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_542 =
  fun dom_tm x ->
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 11963 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 11968 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1322 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 11973 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_543 =
  fun dom_tm x x_inlined1 ->
    let attrs_opt =
      let x = x_inlined1 in
      
# 126 "<standard.mly>"
    ( Some x )
# 11984 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 11990 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1322 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                                      ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 11995 "fstar-guts/FStarC_Parser_Parse.ml"
     : ((FStarC_Parser_AST.aqual * FStarC_Parser_AST.attributes_) *
  FStarC_Parser_AST.typ))

let _menhir_action_544 =
  fun x y ->
    let e = 
# 180 "<standard.mly>"
    ( (x, y) )
# 12004 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1487 "fstar-guts/FStarC_Parser_Parse.mly"
                                                           ( e )
# 12009 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ))

let _menhir_action_545 =
  fun _endpos_lid_ _startpos_lid_ lid ->
    let _loc_lid_ = (_startpos_lid_, _endpos_lid_) in
    (
# 1488 "fstar-guts/FStarC_Parser_Parse.mly"
                          ( lid, mk_term (Var (lid_of_ids [ ident_of_lid lid ])) (rr _loc_lid_) Un )
# 12018 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.var * FStarC_Parser_AST.typ))

let _menhir_action_546 =
  fun _endpos_bs_ _startpos_bs_ bs ->
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    (
# 1203 "fstar-guts/FStarC_Parser_Parse.mly"
    (
       match bs with
       | [b] -> b
       | _ -> raise_error_text (rr _loc_bs_) Fatal_SyntaxError "Syntax error: expected a single binder"
    )
# 12031 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder))

let _menhir_action_547 =
  fun () ->
    (
# 274 "fstar-guts/FStarC_Parser_Parse.mly"
          ( None )
# 12039 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_548 =
  fun () ->
    (
# 275 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( None )
# 12047 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_549 =
  fun () ->
    (
# 276 "fstar-guts/FStarC_Parser_Parse.mly"
             ( None )
# 12055 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_550 =
  fun () ->
    (
# 277 "fstar-guts/FStarC_Parser_Parse.mly"
                ( None )
# 12063 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_551 =
  fun () ->
    (
# 278 "fstar-guts/FStarC_Parser_Parse.mly"
             ( None )
# 12071 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_552 =
  fun () ->
    (
# 279 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 12079 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_553 =
  fun () ->
    (
# 280 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 12087 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_554 =
  fun () ->
    (
# 281 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 12095 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_555 =
  fun () ->
    (
# 282 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12103 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_556 =
  fun () ->
    (
# 283 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 12111 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_557 =
  fun () ->
    (
# 284 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12119 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_558 =
  fun () ->
    (
# 285 "fstar-guts/FStarC_Parser_Parse.mly"
         ( None )
# 12127 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_559 =
  fun () ->
    (
# 286 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12135 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_560 =
  fun () ->
    (
# 287 "fstar-guts/FStarC_Parser_Parse.mly"
        ( None )
# 12143 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_561 =
  fun () ->
    (
# 288 "fstar-guts/FStarC_Parser_Parse.mly"
        ( None )
# 12151 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_562 =
  fun () ->
    (
# 289 "fstar-guts/FStarC_Parser_Parse.mly"
           ( None )
# 12159 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_563 =
  fun () ->
    (
# 290 "fstar-guts/FStarC_Parser_Parse.mly"
            ( None )
# 12167 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_564 =
  fun () ->
    (
# 291 "fstar-guts/FStarC_Parser_Parse.mly"
              ( None )
# 12175 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_565 =
  fun () ->
    (
# 292 "fstar-guts/FStarC_Parser_Parse.mly"
               ( None )
# 12183 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_566 =
  fun () ->
    (
# 293 "fstar-guts/FStarC_Parser_Parse.mly"
                   ( None )
# 12191 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_567 =
  fun () ->
    (
# 294 "fstar-guts/FStarC_Parser_Parse.mly"
              ( None )
# 12199 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_568 =
  fun () ->
    (
# 295 "fstar-guts/FStarC_Parser_Parse.mly"
                     ( None )
# 12207 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_569 =
  fun () ->
    (
# 296 "fstar-guts/FStarC_Parser_Parse.mly"
                        ( None )
# 12215 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_570 =
  fun b ->
    (
# 297 "fstar-guts/FStarC_Parser_Parse.mly"
          ( let _, _, _, snap = b in Some snap )
# 12223 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_571 =
  fun b ->
    (
# 298 "fstar-guts/FStarC_Parser_Parse.mly"
                   ( let _, _, _, snap = b in Some snap )
# 12231 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Sedlexing.snap option))

let _menhir_action_572 =
  fun s ->
    (
# 1696 "fstar-guts/FStarC_Parser_Parse.mly"
             ( s )
# 12239 "fstar-guts/FStarC_Parser_Parse.ml"
     : (string))

let _menhir_action_573 =
  fun e src_eff tgt_eff ->
    let lift = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12247 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 655 "fstar-guts/FStarC_Parser_Parse.mly"
      ( { msource = src_eff; mdest = tgt_eff; lift_op = NonReifiableLift lift; braced=false } )
# 12252 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_574 =
  fun _endpos__7_ _startpos_src_eff_ e src_eff tgt_eff x ->
    let lift2_opt = 
# 123 "<standard.mly>"
    ( None )
# 12260 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let lift1 =
      let y = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12266 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 180 "<standard.mly>"
    ( (x, y) )
# 12271 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__7_ in
    let _startpos = _startpos_src_eff_ in
    let _loc = (_startpos, _endpos) in
    (
# 662 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       match lift2_opt with
       | None ->
          begin match lift1 with
          | ("lift", lift) ->
             { msource = src_eff; mdest = tgt_eff; lift_op = LiftForFree lift; braced=true }
          | ("lift_wp", lift_wp) ->
             { msource = src_eff; mdest = tgt_eff; lift_op = NonReifiableLift lift_wp; braced=true }
          | _ ->
             raise_error_text (rr _loc) Fatal_UnexpectedIdentifier "Unexpected identifier; expected {'lift', and possibly 'lift_wp'}"
          end
       | Some (id2, tm2) ->
          let (id1, tm1) = lift1 in
          let lift, lift_wp = match (id1, id2) with
                  | "lift_wp", "lift" -> tm1, tm2
                  | "lift", "lift_wp" -> tm2, tm1
                  | _ -> raise_error_text (rr _loc) Fatal_UnexpectedIdentifier "Unexpected identifier; expected {'lift', 'lift_wp'}"
          in
          { msource = src_eff; mdest = tgt_eff; lift_op = ReifiableLift (lift, lift_wp); braced=true }
     )
# 12299 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_575 =
  fun _endpos__7_ _startpos_src_eff_ e e_inlined1 id src_eff tgt_eff x ->
    let lift2_opt =
      let e = e_inlined1 in
      let x =
        let y = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12310 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        let x = 
# 659 "fstar-guts/FStarC_Parser_Parse.mly"
                                                          (id)
# 12315 "fstar-guts/FStarC_Parser_Parse.ml"
         in
        
# 180 "<standard.mly>"
    ( (x, y) )
# 12320 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 126 "<standard.mly>"
    ( Some x )
# 12326 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let lift1 =
      let y = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 12333 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 180 "<standard.mly>"
    ( (x, y) )
# 12338 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos__7_ in
    let _startpos = _startpos_src_eff_ in
    let _loc = (_startpos, _endpos) in
    (
# 662 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       match lift2_opt with
       | None ->
          begin match lift1 with
          | ("lift", lift) ->
             { msource = src_eff; mdest = tgt_eff; lift_op = LiftForFree lift; braced=true }
          | ("lift_wp", lift_wp) ->
             { msource = src_eff; mdest = tgt_eff; lift_op = NonReifiableLift lift_wp; braced=true }
          | _ ->
             raise_error_text (rr _loc) Fatal_UnexpectedIdentifier "Unexpected identifier; expected {'lift', and possibly 'lift_wp'}"
          end
       | Some (id2, tm2) ->
          let (id1, tm1) = lift1 in
          let lift, lift_wp = match (id1, id2) with
                  | "lift_wp", "lift" -> tm1, tm2
                  | "lift", "lift_wp" -> tm2, tm1
                  | _ -> raise_error_text (rr _loc) Fatal_UnexpectedIdentifier "Unexpected identifier; expected {'lift', 'lift_wp'}"
          in
          { msource = src_eff; mdest = tgt_eff; lift_op = ReifiableLift (lift, lift_wp); braced=true }
     )
# 12366 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.lift))

let _menhir_action_576 =
  fun _endpos__0_ _endpos_t_ t ->
    let id = 
# 123 "<standard.mly>"
    ( None )
# 12374 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _startpos_id_ = _endpos__0_ in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_id_ in
    let _loc = (_startpos, _endpos) in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
    ( let r = rr _loc in
      let id = match id with | Some id -> id | None -> gen r in
      {id; t; r}
    )
# 12386 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint))

let _menhir_action_577 =
  fun _endpos_t_ _startpos_id_ id t ->
    let id =
      let x = 
# 824 "fstar-guts/FStarC_Parser_Parse.mly"
                                           (id)
# 12395 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 126 "<standard.mly>"
    ( Some x )
# 12400 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_id_ in
    let _loc = (_startpos, _endpos) in
    (
# 825 "fstar-guts/FStarC_Parser_Parse.mly"
    ( let r = rr _loc in
      let id = match id with | Some id -> id | None -> gen r in
      {id; t; r}
    )
# 12412 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint))

let _menhir_action_578 =
  fun constraints ->
    (
# 833 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                   ( constraints )
# 12420 "fstar-guts/FStarC_Parser_Parse.ml"
     : (tc_constraint list))

let _menhir_action_579 =
  fun e ->
    (
# 978 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 12428 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_580 =
  fun _endpos_e1_ _endpos_e2_ _startpos_e1_ _startpos_e2_ e1 e2 ->
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 980 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Seq(e1, e2)) (rr2 _loc_e1_ _loc_e2_) Expr )
# 12438 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_581 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 986 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let t = match op with
        | Some op ->
          let op = mk_ident ("let" ^ op, rr _loc_op_) in
          let pat = mk_pattern (PatWild(None, [])) (rr _loc_op_) in
          LetOperator ([(op, pat, e1)], e2)
        | None ->
          Bind(gen (rr _loc_op_), e1, e2)
        in mk_term t (rr _loc) Expr
      )
# 12458 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_582 =
  fun _endpos_e2_ _startpos_x_ e1 e2 x ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_x_ in
    let _loc = (_startpos, _endpos) in
    (
# 996 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_term (Bind(x, e1, e2)) (rr _loc) Expr )
# 12469 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_583 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 955 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12480 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_584 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 955 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12491 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_585 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 955 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12502 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_586 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 955 "fstar-guts/FStarC_Parser_Parse.mly"
                ( mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12513 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_587 =
  fun _endpos_t_ _startpos_t_ t ->
    let _endpos = _endpos_t_ in
    let _startpos = _startpos_t_ in
    let _loc = (_startpos, _endpos) in
    (
# 959 "fstar-guts/FStarC_Parser_Parse.mly"
     ( let u = mk_term (Const Const_unit) (rr _loc) Expr in
       let t = mk_term (Seq (u, t)) (rr _loc) Expr in
       mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr _loc)], t)) (rr _loc) Expr )
# 12526 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_588 =
  fun _endpos__3_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ t tgt ->
    let dom = 
# 1326 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( ((Some TypeClassArg, []), t) )
# 12534 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_dom_, _startpos_dom_) = (_endpos__3_, _startpos__1_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12549 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_589 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12558 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1327 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12563 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos__5_, _startpos__1_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12579 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_590 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12588 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1327 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12593 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos__5_, _startpos__1_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12609 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_591 =
  fun _endpos__4_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ attrs dom_tm tgt ->
    let dom = 
# 1328 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( (None, attrs), dom_tm )
# 12617 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_dom_, _startpos_dom_) = (_endpos__4_, _startpos__1_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12632 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_592 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_dom_tm_ _startpos_tgt_ dom_tm tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12641 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12646 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1329 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12651 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos_dom_tm_, _startpos_dom_tm_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12667 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_593 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12676 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12681 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1329 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12686 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos_dom_tm_, _startpos_x_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12702 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_594 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12711 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12716 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1329 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12721 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos_dom_tm_, _startpos_x_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12737 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_595 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x x_inlined1 ->
    let dom =
      let attrs_opt =
        let x = x_inlined1 in
        
# 126 "<standard.mly>"
    ( Some x )
# 12748 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12754 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1329 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12759 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos_dom_tm_, _startpos_x_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12775 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_596 =
  fun e ->
    (
# 1305 "fstar-guts/FStarC_Parser_Parse.mly"
                        ( e )
# 12783 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_597 =
  fun _endpos__3_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ t tgt ->
    let dom = 
# 1326 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( ((Some TypeClassArg, []), t) )
# 12791 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_dom_, _startpos_dom_) = (_endpos__3_, _startpos__1_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12806 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_598 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12815 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1327 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12820 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos__5_, _startpos__1_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12836 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_599 =
  fun _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12845 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1327 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (Some q, none_to_empty_list attrs_opt), dom_tm )
# 12850 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos__5_, _startpos__1_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12866 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_600 =
  fun _endpos__4_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ attrs dom_tm tgt ->
    let dom = 
# 1328 "fstar-guts/FStarC_Parser_Parse.mly"
                                                   ( (None, attrs), dom_tm )
# 12874 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let (_endpos_dom_, _startpos_dom_) = (_endpos__4_, _startpos__1_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12889 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_601 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_dom_tm_ _startpos_tgt_ dom_tm tgt ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12898 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12903 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1329 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12908 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos_dom_tm_, _startpos_dom_tm_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12924 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_602 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12933 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 123 "<standard.mly>"
    ( None )
# 12938 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1329 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12943 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos_dom_tm_, _startpos_x_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12959 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_603 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x ->
    let dom =
      let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 12968 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 12973 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1329 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 12978 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos_dom_tm_, _startpos_x_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 12994 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_604 =
  fun _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x x_inlined1 ->
    let dom =
      let attrs_opt =
        let x = x_inlined1 in
        
# 126 "<standard.mly>"
    ( Some x )
# 13005 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      let aq_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 13011 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 1329 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                        ( (aq_opt, none_to_empty_list attrs_opt), dom_tm )
# 13016 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let (_endpos_dom_, _startpos_dom_) = (_endpos_dom_tm_, _startpos_x_) in
    let _loc_tgt_ = (_startpos_tgt_, _endpos_tgt_) in
    let _loc_dom_ = (_startpos_dom_, _endpos_dom_) in
    (
# 1297 "fstar-guts/FStarC_Parser_Parse.mly"
     (
       let ((aq_opt, attrs), dom_tm) = dom in
       let b = match extract_named_refinement true dom_tm with
         | None -> mk_binder_with_attrs (NoName dom_tm) (rr _loc_dom_) Un aq_opt attrs
         | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 _loc_dom_ _loc_dom_) aq_opt attrs
       in
       mk_term (Product([b], tgt)) (rr2 _loc_dom_ _loc_tgt_)  Un
     )
# 13032 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_605 =
  fun e ->
    (
# 1305 "fstar-guts/FStarC_Parser_Parse.mly"
                        ( e )
# 13040 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_606 =
  fun _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok ->
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1338 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("/\\", rr _loc_tok_), [e1;e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13051 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_607 =
  fun e ->
    (
# 1339 "fstar-guts/FStarC_Parser_Parse.mly"
              ( e )
# 13059 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_608 =
  fun e ->
    (
# 1458 "fstar-guts/FStarC_Parser_Parse.mly"
                                            ( e )
# 13067 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_609 =
  fun e ->
    (
# 1454 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( e )
# 13075 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_610 =
  fun _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc = (_startpos, _endpos) in
    (
# 1357 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13087 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_611 =
  fun _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc = (_startpos, _endpos) in
    (
# 1361 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(":=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13099 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_612 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1364 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<|", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13111 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_613 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1367 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("|>", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13123 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_614 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13135 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13143 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_615 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13155 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13163 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_616 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13175 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13183 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_617 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13195 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13203 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_618 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13215 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13223 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_619 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13235 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13243 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_620 =
  fun _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc = (_startpos, _endpos) in
    (
# 1373 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("-", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13255 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_621 =
  fun _endpos_e_ _endpos_tok_ _startpos_tok_ e tok ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos_tok_ in
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc = (_startpos, _endpos) in
    (
# 1375 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_uminus e (rr _loc_tok_) (rr _loc) Expr )
# 13267 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_622 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1377 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Dynamic)) (rr _loc) Un )
# 13278 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_623 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1379 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Static)) (rr _loc) Un )
# 13289 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_624 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1381 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let q = mk_term (Quote (e, Dynamic)) (rr _loc) Un in
        mk_term (Antiquote q) (rr _loc) Un )
# 13301 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_625 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1384 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Antiquote e) (rr _loc) Un )
# 13312 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_626 =
  fun e ->
    (
# 1387 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13320 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_627 =
  fun _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc = (_startpos, _endpos) in
    (
# 1357 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13332 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_628 =
  fun _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc = (_startpos, _endpos) in
    (
# 1361 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(":=", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13344 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_629 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1364 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<|", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13356 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_630 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1367 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("|>", rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13368 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_631 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13380 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13388 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_632 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13400 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13408 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_633 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13420 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13428 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_634 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13440 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13448 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_635 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13460 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13468 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_636 =
  fun _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op ->
    let op =
      let _endpos = _endpos_op_ in
      let _startpos = _startpos_op_ in
      let _loc = (_startpos, _endpos) in
      
# 1724 "fstar-guts/FStarC_Parser_Parse.mly"
     ( mk_ident (op, rr _loc) )
# 13480 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1371 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(op, [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Un)
# 13488 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_637 =
  fun _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc = (_startpos, _endpos) in
    (
# 1373 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("-", rr _loc_tok_), [e1; e2])) (rr _loc) Un)
# 13500 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_638 =
  fun _endpos_e_ _endpos_tok_ _startpos_tok_ e tok ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos_tok_ in
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc = (_startpos, _endpos) in
    (
# 1375 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_uminus e (rr _loc_tok_) (rr _loc) Expr )
# 13512 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_639 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1377 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Dynamic)) (rr _loc) Un )
# 13523 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_640 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1379 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Quote (e, Static)) (rr _loc) Un )
# 13534 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_641 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1381 "fstar-guts/FStarC_Parser_Parse.mly"
      ( let q = mk_term (Quote (e, Dynamic)) (rr _loc) Un in
        mk_term (Antiquote q) (rr _loc) Un )
# 13546 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_642 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1384 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Antiquote e) (rr _loc) Un )
# 13557 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_643 =
  fun e ->
    (
# 1387 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13565 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_644 =
  fun _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok ->
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1333 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("\\/", rr _loc_tok_), [e1;e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13576 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_645 =
  fun e ->
    (
# 1334 "fstar-guts/FStarC_Parser_Parse.mly"
                                   ( e )
# 13584 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_646 =
  fun _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok ->
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1283 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("<==>", rr _loc_tok_), [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13595 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_647 =
  fun e ->
    (
# 1284 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( e )
# 13603 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_648 =
  fun _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok ->
    let _loc_tok_ = (_startpos_tok_, _endpos_tok_) in
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1288 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident("==>", rr _loc_tok_), [e1; e2])) (rr2 _loc_e1_ _loc_e2_) Formula )
# 13614 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_649 =
  fun e ->
    (
# 1291 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13622 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_650 =
  fun e ->
    (
# 1461 "fstar-guts/FStarC_Parser_Parse.mly"
                               ( e )
# 13630 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_651 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1395 "fstar-guts/FStarC_Parser_Parse.mly"
      ( consTerm (rr _loc) e1 e2 )
# 13641 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_652 =
  fun _endpos_e1_ _endpos_e2_ _startpos_e1_ _startpos_e2_ e1 e2 ->
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1397 "fstar-guts/FStarC_Parser_Parse.mly"
      (
            let dom =
               match extract_named_refinement false e1 with
               | Some (x, t, f) ->
                 let dom = mkRefinedBinder x t true f (rr _loc_e1_) None [] in
                 Inl dom
               | _ ->
                 Inr e1
            in
            let tail = e2 in
            let dom, res =
                match tail.tm with
                | Sum(dom', res) -> dom::dom', res
                | _ -> [dom], tail
            in
            mk_term (Sum(dom, res)) (rr2 _loc_e1_ _loc_e2_) Type_level
      )
# 13667 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_653 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1418 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13679 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_654 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1418 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13691 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_655 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1418 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13703 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_656 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1421 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp op [ e1, Infix; e2, Nothing ] (rr _loc) )
# 13714 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_657 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1423 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (VQuote e) (rr _loc) Un )
# 13725 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_658 =
  fun _endpos_e_ _endpos_op_ _startpos_op_ e op ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos_op_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1425 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident (op, rr _loc_op_), [e])) (rr _loc) Formula )
# 13737 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_659 =
  fun e ->
    (
# 1426 "fstar-guts/FStarC_Parser_Parse.mly"
        ( e )
# 13745 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_660 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1395 "fstar-guts/FStarC_Parser_Parse.mly"
      ( consTerm (rr _loc) e1 e2 )
# 13756 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_661 =
  fun _endpos_e1_ _endpos_e2_ _startpos_e1_ _startpos_e2_ e1 e2 ->
    let _loc_e2_ = (_startpos_e2_, _endpos_e2_) in
    let _loc_e1_ = (_startpos_e1_, _endpos_e1_) in
    (
# 1397 "fstar-guts/FStarC_Parser_Parse.mly"
      (
            let dom =
               match extract_named_refinement false e1 with
               | Some (x, t, f) ->
                 let dom = mkRefinedBinder x t true f (rr _loc_e1_) None [] in
                 Inl dom
               | _ ->
                 Inr e1
            in
            let tail = e2 in
            let dom, res =
                match tail.tm with
                | Sum(dom', res) -> dom::dom', res
                | _ -> [dom], tail
            in
            mk_term (Sum(dom, res)) (rr2 _loc_e1_ _loc_e2_) Type_level
      )
# 13782 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_662 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1418 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13794 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_663 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1418 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13806 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_664 =
  fun _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1418 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident(op, rr _loc_op_), [e1; e2])) (rr _loc) Un)
# 13818 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_665 =
  fun _endpos_e2_ _startpos_e1_ e1 e2 op ->
    let _endpos = _endpos_e2_ in
    let _startpos = _startpos_e1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1421 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkApp op [ e1, Infix; e2, Nothing ] (rr _loc) )
# 13829 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_666 =
  fun _endpos_e_ _startpos__1_ e ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 1423 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (VQuote e) (rr _loc) Un )
# 13840 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_667 =
  fun _endpos_e_ _endpos_op_ _startpos_op_ e op ->
    let _endpos = _endpos_e_ in
    let _startpos = _startpos_op_ in
    let _loc_op_ = (_startpos_op_, _endpos_op_) in
    let _loc = (_startpos, _endpos) in
    (
# 1425 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mk_term (Op(mk_ident (op, rr _loc_op_), [e])) (rr _loc) Formula )
# 13852 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_668 =
  fun e ->
    (
# 1426 "fstar-guts/FStarC_Parser_Parse.mly"
        ( e )
# 13860 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_669 =
  fun e ->
    (
# 1430 "fstar-guts/FStarC_Parser_Parse.mly"
                            ( e )
# 13868 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_670 =
  fun e ->
    let e = 
# 1390 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 13876 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1431 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( e )
# 13881 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_671 =
  fun e ->
    (
# 1430 "fstar-guts/FStarC_Parser_Parse.mly"
                            ( e )
# 13889 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_672 =
  fun e ->
    let e = 
# 1390 "fstar-guts/FStarC_Parser_Parse.mly"
                              ( e )
# 13897 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1431 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( e )
# 13902 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_673 =
  fun _endpos_e_ _endpos_id_ _endpos_phi_opt_ _startpos_e_ _startpos_id_ _startpos_phi_opt_ e id phi_opt ->
    let _loc_phi_opt_ = (_startpos_phi_opt_, _endpos_phi_opt_) in
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1465 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        let t = match phi_opt with
          | None -> NamedTyp(id, e)
          | Some phi -> Refine(mk_binder (Annotated(id, e)) (rr2 _loc_id_ _loc_e_) Type_level None, phi)
        in mk_term t (rr2 _loc_id_ _loc_phi_opt_) Type_level
      )
# 13918 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_674 =
  fun e ->
    (
# 1471 "fstar-guts/FStarC_Parser_Parse.mly"
               ( e )
# 13926 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_675 =
  fun e ->
    (
# 1343 "fstar-guts/FStarC_Parser_Parse.mly"
      ( e )
# 13934 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_676 =
  fun _endpos_e_ _startpos_e_ e rest ->
    let _loc_e_ = (_startpos_e_, _endpos_e_) in
    (
# 1345 "fstar-guts/FStarC_Parser_Parse.mly"
      ( mkTuple (e :: rest) (rr _loc_e_) )
# 13943 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_677 =
  fun x ->
    (
# 1541 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 13951 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_678 =
  fun x ->
    (
# 1543 "fstar-guts/FStarC_Parser_Parse.mly"
    ( x )
# 13959 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_679 =
  fun _endpos_pats_ _startpos_pats_ pats ->
    let _endpos = _endpos_pats_ in
    let _startpos = _startpos_pats_ in
    let _loc = (_startpos, _endpos) in
    (
# 757 "fstar-guts/FStarC_Parser_Parse.mly"
      ( match pats with | [x] -> x | l -> mk_pattern (PatTuple (l, false)) (rr _loc) )
# 13970 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.pattern))

let _menhir_action_680 =
  fun e ->
    let t = 
# 1259 "fstar-guts/FStarC_Parser_Parse.mly"
            ( e )
# 13978 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 1229 "fstar-guts/FStarC_Parser_Parse.mly"
                 ( t )
# 13983 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_681 =
  fun x ->
    (
# 531 "fstar-guts/FStarC_Parser_Parse.mly"
                             ( x )
# 13991 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.binder list))

let _menhir_action_682 =
  fun ascr_opt lid tcdef tparams ->
    (
# 528 "fstar-guts/FStarC_Parser_Parse.mly"
      ( tcdef lid tparams ascr_opt )
# 13999 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.tycon))

let _menhir_action_683 =
  fun () ->
    (
# 539 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt -> check_id id; TyconAbstract(id, binders, kopt)) )
# 14007 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_684 =
  fun t ->
    (
# 541 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt ->  check_id id; TyconAbbrev(id, binders, kopt, t)) )
# 14017 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_685 =
  fun record_field_decls ->
    let record_field_decls = 
# 535 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 14027 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let attrs_opt = 
# 123 "<standard.mly>"
    ( None )
# 14032 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 544 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt -> check_id id; TyconRecord(id, binders, kopt, none_to_empty_list attrs_opt, record_field_decls)) )
# 14037 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_686 =
  fun record_field_decls x ->
    let record_field_decls = 
# 535 "fstar-guts/FStarC_Parser_Parse.mly"
    ( record_field_decls )
# 14047 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let attrs_opt = 
# 126 "<standard.mly>"
    ( Some x )
# 14052 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    (
# 544 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt -> check_id id; TyconRecord(id, binders, kopt, none_to_empty_list attrs_opt, record_field_decls)) )
# 14057 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_687 =
  fun ct_decls ->
    (
# 547 "fstar-guts/FStarC_Parser_Parse.mly"
      ( (fun id binders kopt -> check_id id; TyconVariant(id, binders, kopt, ct_decls)) )
# 14067 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name ->
  FStarC_Parser_AST.binder list ->
  FStarC_Parser_AST.typ option -> FStarC_Parser_AST.tycon))

let _menhir_action_688 =
  fun constraints ->
    (
# 837 "fstar-guts/FStarC_Parser_Parse.mly"
                                                                          ( constraints )
# 14077 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_689 =
  fun () ->
    (
# 838 "fstar-guts/FStarC_Parser_Parse.mly"
    ( [] )
# 14085 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ list))

let _menhir_action_690 =
  fun tcdef ->
    (
# 413 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Only a single type decl allowed, but construct it the same as for multiple ones.
         * Only difference is the `true` below marking that this a class so desugaring
         * adds the needed %splice. *)
        let d = Tycon (false, true, [tcdef]) in

        (* No attrs yet, but perhaps we want a `class` attribute *)
        (d, [])
      )
# 14101 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_691 =
  fun _endpos_lb_ _startpos__1_ lb q ->
    let _endpos = _endpos_lb_ in
    let _startpos = _startpos__1_ in
    let _loc = (_startpos, _endpos) in
    (
# 424 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Making a single letbinding *)
        let r = rr _loc in
        let lbs = focusLetBindings [lb] r in (* lbs is a singleton really *)
        let d = TopLevelLet(q, lbs) in

        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14122 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_692 =
  fun _endpos_bs_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_t_ bs id t ->
    let lid = 
# 921 "fstar-guts/FStarC_Parser_Parse.mly"
              ( id )
# 14130 "fstar-guts/FStarC_Parser_Parse.ml"
     in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14152 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_693 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1699 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 14165 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14171 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14194 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_694 =
  fun _endpos_bs_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_t_ bs op t ->
    let lid =
      let id = 
# 1700 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( op )
# 14203 "fstar-guts/FStarC_Parser_Parse.ml"
       in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14208 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14231 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_695 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1701 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident (op, rr _loc) )
# 14244 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14250 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14273 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_696 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let _endpos = _endpos_op_ in
        let _startpos = _startpos_op_ in
        let _loc = (_startpos, _endpos) in
        
# 1702 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("-", rr _loc) )
# 14286 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14292 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14315 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_697 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1712 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("and" ^ op, rr _loc) )
# 14329 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1703 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 14335 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14341 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14364 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_698 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1714 "fstar-guts/FStarC_Parser_Parse.mly"
              ( mk_ident ("let" ^ op, rr _loc) )
# 14378 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1704 "fstar-guts/FStarC_Parser_Parse.mly"
                    (op)
# 14384 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14390 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14413 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_699 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1708 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("exists" ^ op, rr _loc) )
# 14427 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 14433 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14439 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14462 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_700 =
  fun _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t ->
    let lid =
      let id =
        let op =
          let _endpos = _endpos_op_ in
          let _startpos = _startpos_op_ in
          let _loc = (_startpos, _endpos) in
          
# 1709 "fstar-guts/FStarC_Parser_Parse.mly"
                    ( mk_ident ("forall" ^ op, rr _loc) )
# 14476 "fstar-guts/FStarC_Parser_Parse.ml"
          
        in
        
# 1705 "fstar-guts/FStarC_Parser_Parse.mly"
                     (op)
# 14482 "fstar-guts/FStarC_Parser_Parse.ml"
        
      in
      
# 923 "fstar-guts/FStarC_Parser_Parse.mly"
    ( mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) )
# 14488 "fstar-guts/FStarC_Parser_Parse.ml"
      
    in
    let _endpos = _endpos_t_ in
    let _startpos = _startpos__1_ in
    let _loc_t_ = (_startpos_t_, _endpos_t_) in
    let _loc_bs_ = (_startpos_bs_, _endpos_bs_) in
    let _loc = (_startpos, _endpos) in
    (
# 437 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        (* Some duplication from rawDecl... *)
        let r = rr _loc in
        let t = match bs with
          | [] -> t
          | bs -> mk_term (Product(bs, t)) (rr2 _loc_bs_ _loc_t_) Type_level
        in
        let d = Val(lid, t) in
        (* Slapping a `tcinstance` attribute to it *)
        let at = mk_term (Var tcinstance_lid) r Type_level in

        (d, [at])
      )
# 14511 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.decl' * FStarC_Parser_AST.typ list))

let _menhir_action_701 =
  fun _endpos_id_ _startpos_id_ id ->
    let _loc_id_ = (_startpos_id_, _endpos_id_) in
    (
# 948 "fstar-guts/FStarC_Parser_Parse.mly"
            ( mk_ident(id, rr _loc_id_) )
# 14520 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Syntax_Syntax.univ_name))

let _menhir_action_702 =
  fun ua ->
    (
# 1659 "fstar-guts/FStarC_Parser_Parse.mly"
                                ( (UnivApp, ua) )
# 14528 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.imp * FStarC_Parser_AST.typ))

let _menhir_action_703 =
  fun ua ->
    (
# 1662 "fstar-guts/FStarC_Parser_Parse.mly"
                      ( ua )
# 14536 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_704 =
  fun _endpos_op_plus_ _endpos_u1_ _endpos_u2_ _startpos_op_plus_ _startpos_u1_ _startpos_u2_ op_plus u1 u2 ->
    let _loc_u2_ = (_startpos_u2_, _endpos_u2_) in
    let _loc_u1_ = (_startpos_u1_, _endpos_u1_) in
    let _loc_op_plus_ = (_startpos_op_plus_, _endpos_op_plus_) in
    (
# 1664 "fstar-guts/FStarC_Parser_Parse.mly"
       (
         if op_plus <> "+"
         then log_issue_text (rr _loc_u1_) Error_OpPlusInUniverse ("The operator " ^ op_plus ^ " was found in universe context."
                           ^ "The only allowed operator in that context is +.");
         mk_term (Op(mk_ident (op_plus, rr _loc_op_plus_), [u1 ; u2])) (rr2 _loc_u1_ _loc_u2_) Expr
       )
# 14552 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_action_705 =
  fun _endpos_max_ _endpos_us_ _startpos_max_ max us ->
    let _endpos = _endpos_us_ in
    let _startpos = _startpos_max_ in
    let _loc_max_ = (_startpos_max_, _endpos_max_) in
    let _loc = (_startpos, _endpos) in
    (
# 1671 "fstar-guts/FStarC_Parser_Parse.mly"
      (
        if string_of_id max <> string_of_lid max_lid
        then log_issue_text (rr _loc_max_) Error_InvalidUniverseVar ("A lower case ident " ^ string_of_id max ^
                          " was found in a universe context. " ^
                          "It should be either max or a universe variable 'usomething.");
        let max = mk_term (Var (lid_of_ids [max])) (rr _loc_max_) Expr in
        mkApp max (map (fun u -> u, Nothing) us) (rr _loc)
      )
# 14571 "fstar-guts/FStarC_Parser_Parse.ml"
     : (FStarC_Parser_AST.typ))

let _menhir_print_token : token -> string =
  fun _tok ->
    match _tok with
    | WITH ->
        "WITH"
    | WHEN ->
        "WHEN"
    | VAL ->
        "VAL"
    | USE_LANG_BLOB _ ->
        "USE_LANG_BLOB"
    | UNOPTEQUALITY ->
        "UNOPTEQUALITY"
    | UNIV_HASH ->
        "UNIV_HASH"
    | UNFOLDABLE ->
        "UNFOLDABLE"
    | UNFOLD ->
        "UNFOLD"
    | UNDERSCORE ->
        "UNDERSCORE"
    | UINT8 _ ->
        "UINT8"
    | UINT64 _ ->
        "UINT64"
    | UINT32 _ ->
        "UINT32"
    | UINT16 _ ->
        "UINT16"
    | TYPE ->
        "TYPE"
    | TRY ->
        "TRY"
    | TRUE ->
        "TRUE"
    | TOTAL ->
        "TOTAL"
    | TILDE _ ->
        "TILDE"
    | THEN ->
        "THEN"
    | SYNTH ->
        "SYNTH"
    | SUB_EFFECT ->
        "SUB_EFFECT"
    | SUBTYPE ->
        "SUBTYPE"
    | SUBKIND ->
        "SUBKIND"
    | STRING _ ->
        "STRING"
    | SQUIGGLY_RARROW ->
        "SQUIGGLY_RARROW"
    | SPLICET ->
        "SPLICET"
    | SPLICE ->
        "SPLICE"
    | SIZET _ ->
        "SIZET"
    | SET_RANGE_OF ->
        "SET_RANGE_OF"
    | SEQ_BANG_LBRACK ->
        "SEQ_BANG_LBRACK"
    | SEMICOLON_OP _ ->
        "SEMICOLON_OP"
    | SEMICOLON ->
        "SEMICOLON"
    | RPAREN ->
        "RPAREN"
    | RETURNS_EQ ->
        "RETURNS_EQ"
    | RETURNS ->
        "RETURNS"
    | REQUIRES ->
        "REQUIRES"
    | REIFY ->
        "REIFY"
    | REIFIABLE ->
        "REIFIABLE"
    | REFLECTABLE ->
        "REFLECTABLE"
    | REC ->
        "REC"
    | REAL _ ->
        "REAL"
    | RBRACK ->
        "RBRACK"
    | RBRACE ->
        "RBRACE"
    | RARROW ->
        "RARROW"
    | RANGE_OF ->
        "RANGE_OF"
    | QUOTE ->
        "QUOTE"
    | QMARK_DOT ->
        "QMARK_DOT"
    | QMARK ->
        "QMARK"
    | PRIVATE ->
        "PRIVATE"
    | PRAGMA_SHOW_OPTIONS ->
        "PRAGMA_SHOW_OPTIONS"
    | PRAGMA_SET_OPTIONS ->
        "PRAGMA_SET_OPTIONS"
    | PRAGMA_RESTART_SOLVER ->
        "PRAGMA_RESTART_SOLVER"
    | PRAGMA_RESET_OPTIONS ->
        "PRAGMA_RESET_OPTIONS"
    | PRAGMA_PUSH_OPTIONS ->
        "PRAGMA_PUSH_OPTIONS"
    | PRAGMA_PRINT_EFFECTS_GRAPH ->
        "PRAGMA_PRINT_EFFECTS_GRAPH"
    | PRAGMA_POP_OPTIONS ->
        "PRAGMA_POP_OPTIONS"
    | PRAGMA_EVAL ->
        "PRAGMA_EVAL"
    | PRAGMA_CHECK ->
        "PRAGMA_CHECK"
    | POLYMONADIC_SUBCOMP ->
        "POLYMONADIC_SUBCOMP"
    | POLYMONADIC_BIND ->
        "POLYMONADIC_BIND"
    | PIPE_RIGHT ->
        "PIPE_RIGHT"
    | PIPE_LEFT ->
        "PIPE_LEFT"
    | PERCENT_LBRACK ->
        "PERCENT_LBRACK"
    | OP_MIXFIX_ASSIGNMENT _ ->
        "OP_MIXFIX_ASSIGNMENT"
    | OP_MIXFIX_ACCESS _ ->
        "OP_MIXFIX_ACCESS"
    | OPPREFIX _ ->
        "OPPREFIX"
    | OPINFIX4 _ ->
        "OPINFIX4"
    | OPINFIX3R _ ->
        "OPINFIX3R"
    | OPINFIX3L _ ->
        "OPINFIX3L"
    | OPINFIX2 _ ->
        "OPINFIX2"
    | OPINFIX1 _ ->
        "OPINFIX1"
    | OPINFIX0d _ ->
        "OPINFIX0d"
    | OPINFIX0c _ ->
        "OPINFIX0c"
    | OPINFIX0b _ ->
        "OPINFIX0b"
    | OPINFIX0a _ ->
        "OPINFIX0a"
    | OPEN ->
        "OPEN"
    | OPAQUE ->
        "OPAQUE"
    | OF ->
        "OF"
    | NOEXTRACT ->
        "NOEXTRACT"
    | NOEQUALITY ->
        "NOEQUALITY"
    | NEW_EFFECT ->
        "NEW_EFFECT"
    | NEW ->
        "NEW"
    | NAME _ ->
        "NAME"
    | MODULE ->
        "MODULE"
    | MINUS ->
        "MINUS"
    | MATCH_OP _ ->
        "MATCH_OP"
    | MATCH ->
        "MATCH"
    | LPAREN_RPAREN ->
        "LPAREN_RPAREN"
    | LPAREN ->
        "LPAREN"
    | LONG_LEFT_ARROW ->
        "LONG_LEFT_ARROW"
    | LOGIC ->
        "LOGIC"
    | LET_OP _ ->
        "LET_OP"
    | LET ->
        "LET"
    | LENS_PAREN_RIGHT ->
        "LENS_PAREN_RIGHT"
    | LENS_PAREN_LEFT ->
        "LENS_PAREN_LEFT"
    | LBRACK_BAR ->
        "LBRACK_BAR"
    | LBRACK_AT_AT_AT ->
        "LBRACK_AT_AT_AT"
    | LBRACK_AT_AT ->
        "LBRACK_AT_AT"
    | LBRACK_AT ->
        "LBRACK_AT"
    | LBRACK ->
        "LBRACK"
    | LBRACE_COLON_WELL_FOUNDED ->
        "LBRACE_COLON_WELL_FOUNDED"
    | LBRACE_COLON_PATTERN ->
        "LBRACE_COLON_PATTERN"
    | LBRACE_BAR ->
        "LBRACE_BAR"
    | LBRACE ->
        "LBRACE"
    | LAYERED_EFFECT ->
        "LAYERED_EFFECT"
    | LARROW ->
        "LARROW"
    | IRREDUCIBLE ->
        "IRREDUCIBLE"
    | INTRO ->
        "INTRO"
    | INT8 _ ->
        "INT8"
    | INT64 _ ->
        "INT64"
    | INT32 _ ->
        "INT32"
    | INT16 _ ->
        "INT16"
    | INT _ ->
        "INT"
    | INSTANCE ->
        "INSTANCE"
    | INLINE_FOR_EXTRACTION ->
        "INLINE_FOR_EXTRACTION"
    | INLINE ->
        "INLINE"
    | INCLUDE ->
        "INCLUDE"
    | IN ->
        "IN"
    | IMPLIES ->
        "IMPLIES"
    | IF_OP _ ->
        "IF_OP"
    | IFF ->
        "IFF"
    | IF ->
        "IF"
    | IDENT _ ->
        "IDENT"
    | HASH ->
        "HASH"
    | FUNCTION ->
        "FUNCTION"
    | FUN ->
        "FUN"
    | FRIEND ->
        "FRIEND"
    | FORALL_OP _ ->
        "FORALL_OP"
    | FORALL ->
        "FORALL"
    | FALSE ->
        "FALSE"
    | EXISTS_OP _ ->
        "EXISTS_OP"
    | EXISTS ->
        "EXISTS"
    | EXCEPTION ->
        "EXCEPTION"
    | EQUALTYPE ->
        "EQUALTYPE"
    | EQUALS ->
        "EQUALS"
    | EOF ->
        "EOF"
    | ENSURES ->
        "ENSURES"
    | END ->
        "END"
    | ELSE ->
        "ELSE"
    | ELIM ->
        "ELIM"
    | EFFECT ->
        "EFFECT"
    | DOT_LPAREN ->
        "DOT_LPAREN"
    | DOT_LENS_PAREN_LEFT ->
        "DOT_LENS_PAREN_LEFT"
    | DOT_LBRACK_BAR ->
        "DOT_LBRACK_BAR"
    | DOT_LBRACK ->
        "DOT_LBRACK"
    | DOT_DOT ->
        "DOT_DOT"
    | DOT ->
        "DOT"
    | DOLLAR ->
        "DOLLAR"
    | DISJUNCTION ->
        "DISJUNCTION"
    | DECREASES ->
        "DECREASES"
    | CONJUNCTION ->
        "CONJUNCTION"
    | COMMA ->
        "COMMA"
    | COLON_EQUALS ->
        "COLON_EQUALS"
    | COLON_COLON ->
        "COLON_COLON"
    | COLON ->
        "COLON"
    | CLASS ->
        "CLASS"
    | CHAR _ ->
        "CHAR"
    | CALC ->
        "CALC"
    | BY ->
        "BY"
    | BLOB _ ->
        "BLOB"
    | BEGIN ->
        "BEGIN"
    | BAR_RBRACK ->
        "BAR_RBRACK"
    | BAR_RBRACE ->
        "BAR_RBRACE"
    | BAR ->
        "BAR"
    | BANG_LBRACE ->
        "BANG_LBRACE"
    | BACKTICK_PERC ->
        "BACKTICK_PERC"
    | BACKTICK_HASH ->
        "BACKTICK_HASH"
    | BACKTICK_AT ->
        "BACKTICK_AT"
    | BACKTICK ->
        "BACKTICK"
    | ATTRIBUTES ->
        "ATTRIBUTES"
    | ASSUME ->
        "ASSUME"
    | ASSERT ->
        "ASSERT"
    | AS ->
        "AS"
    | AND_OP _ ->
        "AND_OP"
    | AND ->
        "AND"
    | AMP ->
        "AMP"

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

include struct
  
  [@@@ocaml.warning "-4-37"]
  
  let _menhir_run_1547 : type  ttv_stack. ttv_stack -> _ -> _menhir_box_term =
    fun _menhir_stack _v ->
      MenhirBox_term _v
  
  let _menhir_goto_oneDeclOrEOF : type  ttv_stack. ttv_stack -> _ -> _menhir_box_oneDeclOrEOF =
    fun _menhir_stack _v ->
      MenhirBox_oneDeclOrEOF _v
  
  let _menhir_goto_startOfNextDeclToken : type  ttv_stack. (ttv_stack, _menhir_box_oneDeclOrEOF) _menhir_cell1_decl -> _ -> _menhir_box_oneDeclOrEOF =
    fun _menhir_stack _v ->
      let MenhirCell1_decl (_menhir_stack, _, d) = _menhir_stack in
      let snap = _v in
      let _v = _menhir_action_194 d snap in
      let ds = _v in
      let _v = _menhir_action_313 ds in
      _menhir_goto_oneDeclOrEOF _menhir_stack _v
  
  let _menhir_run_1544 : type  ttv_stack. (ttv_stack, _menhir_box_oneDeclOrEOF) _menhir_cell1_decl -> _menhir_box_oneDeclOrEOF =
    fun _menhir_stack ->
      let _v = _menhir_action_551 () in
      _menhir_goto_startOfNextDeclToken _menhir_stack _v
  
  let _menhir_run_1481 : type  ttv_stack. ttv_stack -> _ -> _menhir_box_inputFragment =
    fun _menhir_stack _v ->
      let decls = _v in
      let _v = _menhir_action_201 decls in
      MenhirBox_inputFragment _v
  
  let rec _menhir_run_1489 : type  ttv_stack. (ttv_stack, _menhir_box_inputFragment) _menhir_cell1_decl -> _ -> _menhir_box_inputFragment =
    fun _menhir_stack _v ->
      let MenhirCell1_decl (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_234 x xs in
      _menhir_goto_list_decl_ _menhir_stack _v _menhir_s
  
  and _menhir_goto_list_decl_ : type  ttv_stack. ttv_stack -> _ -> (ttv_stack, _menhir_box_inputFragment) _menhir_state -> _menhir_box_inputFragment =
    fun _menhir_stack _v _menhir_s ->
      match _menhir_s with
      | MenhirState0000 ->
          _menhir_run_1481 _menhir_stack _v
      | MenhirState1488 ->
          _menhir_run_1489 _menhir_stack _v
      | _ ->
          _menhir_fail ()
  
  let _menhir_goto_pragmaStartToken : type  ttv_stack. (ttv_stack, _menhir_box_oneDeclOrEOF) _menhir_cell1_decl -> _menhir_box_oneDeclOrEOF =
    fun _menhir_stack ->
      let _v = _menhir_action_548 () in
      _menhir_goto_startOfNextDeclToken _menhir_stack _v
  
  let _menhir_run_1494 : type  ttv_stack. ttv_stack -> _ -> _ -> (ttv_stack, _menhir_box_oneDeclOrEOF) _menhir_state -> _ -> _menhir_box_oneDeclOrEOF =
    fun _menhir_stack _menhir_lexbuf _v _menhir_s _tok ->
      let _menhir_stack = MenhirCell1_decl (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | VAL ->
          let _v = _menhir_action_561 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | USE_LANG_BLOB _v_1 ->
          let b = _v_1 in
          let _v = _menhir_action_571 b in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | UNOPTEQUALITY ->
          let _ = _menhir_action_417 () in
          _menhir_run_1544 _menhir_stack
      | UNFOLDABLE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _ =
            let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
            _menhir_action_409 _endpos__1_ _startpos__1_
          in
          _menhir_run_1544 _menhir_stack
      | UNFOLD ->
          let _ = _menhir_action_411 () in
          _menhir_run_1544 _menhir_stack
      | TYPE ->
          let _v = _menhir_action_558 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | TOTAL ->
          let _ = _menhir_action_414 () in
          _menhir_run_1544 _menhir_stack
      | SUB_EFFECT ->
          let _v = _menhir_action_567 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | SPLICET ->
          let _v = _menhir_action_563 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | SPLICE ->
          let _v = _menhir_action_562 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | REIFIABLE ->
          let _ = _menhir_action_421 () in
          _menhir_run_1544 _menhir_stack
      | REFLECTABLE ->
          let _ = _menhir_action_422 () in
          _menhir_run_1544 _menhir_stack
      | PRIVATE ->
          let _ = _menhir_action_415 () in
          _menhir_run_1544 _menhir_stack
      | PRAGMA_SHOW_OPTIONS ->
          let _ = _menhir_action_380 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_SET_OPTIONS ->
          let _ = _menhir_action_381 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_RESTART_SOLVER ->
          let _ = _menhir_action_385 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_RESET_OPTIONS ->
          let _ = _menhir_action_382 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_PUSH_OPTIONS ->
          let _ = _menhir_action_383 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_PRINT_EFFECTS_GRAPH ->
          let _ = _menhir_action_386 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_POP_OPTIONS ->
          let _ = _menhir_action_384 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_EVAL ->
          let _ = _menhir_action_388 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | PRAGMA_CHECK ->
          let _ = _menhir_action_387 () in
          _menhir_goto_pragmaStartToken _menhir_stack
      | POLYMONADIC_SUBCOMP ->
          let _v = _menhir_action_569 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | POLYMONADIC_BIND ->
          let _v = _menhir_action_568 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | OPEN ->
          let _v = _menhir_action_554 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | OPAQUE ->
          let _ = _menhir_action_420 () in
          _menhir_run_1544 _menhir_stack
      | NOEXTRACT ->
          let _ = _menhir_action_413 () in
          _menhir_run_1544 _menhir_stack
      | NOEQUALITY ->
          let _ = _menhir_action_416 () in
          _menhir_run_1544 _menhir_stack
      | NEW_EFFECT ->
          let _v = _menhir_action_565 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | NEW ->
          let _ = _menhir_action_418 () in
          _menhir_run_1544 _menhir_stack
      | MODULE ->
          let _v = _menhir_action_557 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LOGIC ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _ =
            let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
            _menhir_action_419 _endpos__1_ _startpos__1_
          in
          _menhir_run_1544 _menhir_stack
      | LET ->
          let _v = _menhir_action_560 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LBRACK_AT_AT ->
          let _v = _menhir_action_550 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LBRACK_AT ->
          let _v = _menhir_action_549 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | LAYERED_EFFECT ->
          let _v = _menhir_action_566 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | IRREDUCIBLE ->
          let _ = _menhir_action_412 () in
          _menhir_run_1544 _menhir_stack
      | INSTANCE ->
          let _v = _menhir_action_553 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | INLINE_FOR_EXTRACTION ->
          let _ = _menhir_action_410 () in
          _menhir_run_1544 _menhir_stack
      | INLINE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _ =
            let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
            _menhir_action_408 _endpos__1_ _startpos__1_
          in
          _menhir_run_1544 _menhir_stack
      | INCLUDE ->
          let _v = _menhir_action_556 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | FRIEND ->
          let _v = _menhir_action_555 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EXCEPTION ->
          let _v = _menhir_action_564 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EOF ->
          let _v = _menhir_action_547 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | EFFECT ->
          let _v = _menhir_action_559 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | CLASS ->
          let _v = _menhir_action_552 () in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | BLOB _v_47 ->
          let b = _v_47 in
          let _v = _menhir_action_570 b in
          _menhir_goto_startOfNextDeclToken _menhir_stack _v
      | ASSUME ->
          let _ = _menhir_action_407 () in
          _menhir_run_1544 _menhir_stack
      | _ ->
          _eRR ()
  
  let rec _menhir_run_0001 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_blob_, _startpos_blob_, blob) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_177 _endpos_blob_ _startpos_blob_ blob in
      _menhir_goto_decl _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_decl : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0000 ->
          _menhir_run_1488 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1488 ->
          _menhir_run_1488 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1490 ->
          _menhir_run_1494 _menhir_stack _menhir_lexbuf _v _menhir_s _tok
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1488 : type  ttv_stack. ttv_stack -> _ -> _ -> _ -> (ttv_stack, _menhir_box_inputFragment) _menhir_state -> _ -> _ -> _menhir_box_inputFragment =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_decl (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | USE_LANG_BLOB _v_0 ->
          _menhir_run_0001 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1488 _menhir_initp
      | UNOPTEQUALITY ->
          _menhir_run_0002 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | IRREDUCIBLE ->
          _menhir_run_1028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_1029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | INLINE ->
          _menhir_run_1030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | ASSUME ->
          _menhir_run_1031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1488 _menhir_initp
      | EOF ->
          let _v_1 = _menhir_action_233 () in
          _menhir_run_1489 _menhir_stack _v_1
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | SPLICE | SPLICET | SUB_EFFECT | TYPE | VAL ->
          let _v_2 = _menhir_action_235 () in
          _menhir_run_1036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1488 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0002 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_417 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_qualifier : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0000 ->
          _menhir_run_1035 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1484 ->
          _menhir_run_1035 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1488 ->
          _menhir_run_1035 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1490 ->
          _menhir_run_1035 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1494 ->
          _menhir_run_1544 _menhir_stack
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1035 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let x = _v in
      let _v = _menhir_action_181 x in
      _menhir_goto_decoration _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_decoration : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_decoration (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | UNOPTEQUALITY ->
          _menhir_run_0002 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | IRREDUCIBLE ->
          _menhir_run_1028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_1029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | INLINE ->
          _menhir_run_1030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1484 _menhir_initp
      | ASSUME ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let _v_0 = _menhir_action_407 () in
          _menhir_run_1035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1484 _tok _menhir_initp
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | SPLICE | SPLICET | SUB_EFFECT | TYPE | VAL ->
          let _v_1 = _menhir_action_235 () in
          _menhir_run_1486 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0003 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_409 _endpos__1_ _startpos__1_ in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0004 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_411 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0005 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_414 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0006 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_421 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0007 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_422 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0008 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_415 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0009 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_420 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0010 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_413 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0011 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_416 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0012 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_418 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0013 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_419 _endpos__1_ _startpos__1_ in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0014 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACK_AT_AT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0014 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0014 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_501 () in
          _menhir_run_1026 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0015 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | BY ->
          let _menhir_stack = MenhirCell1_UNDERSCORE (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0016 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
          let _v = _menhir_action_096 _endpos__1_ _startpos__1_ in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | COLON | LONG_LEFT_ARROW ->
          let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
          let _v = _menhir_action_220 _endpos__1_ _startpos__1_ in
          _menhir_goto_lidentOrUnderscore _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0017 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_096 _endpos__1_ _startpos__1_ in
      _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_atomicTermNotQUident : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0016 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0144 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0185 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0494 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0900 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0900 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0900 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0900 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0900 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0144 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_093 x in
      _menhir_goto_atomicTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_atomicTerm : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0131 ->
          _menhir_run_0145 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0153 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0155 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0157 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0193 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0287 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0289 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0298 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0311 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0315 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0619 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0719 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0719 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0728 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0728 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0728 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0728 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0896 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0896 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0896 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0896 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_1016 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_1025 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_1025 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_1251 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0145 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_TILDE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_TILDE (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_658 _endpos_e_ _endpos_op_ _startpos_op_ e op in
      _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_669 e in
      _menhir_goto_tmNoEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tmNoEqWith_appTermNoRecordExp_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0130 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0159 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0161 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0824 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0826 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0828 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0830 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0832 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0834 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0159 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0823 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0827 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0829 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0825 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0831 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_626 e in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0160 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX4 (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0160 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0018 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_156 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_constant : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0065 ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0081 ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0633 ->
          _menhir_run_0066 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0142 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_1083 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0066 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_MINUS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos_tok_, _endpos_tok_) = _menhir_stack in
      let (_endpos_c_, _startpos_c_, c, tok) = (_endpos, _startpos, _v, ()) in
      let _v = _menhir_action_088 _endpos_c_ _endpos_tok_ _startpos_c_ _startpos_tok_ c tok in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos_tok_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_atomicPattern : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0200 ->
          _menhir_run_0208 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0208 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0626 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0208 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0208 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0208 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0208 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0208 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0208 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0208 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | REAL _v_6 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0208 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | NAME _v_7 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0208 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | INT8 _v_8 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0208 _menhir_initp
      | INT64 _v_9 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0208 _menhir_initp
      | INT32 _v_10 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0208 _menhir_initp
      | INT16 _v_11 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0208 _menhir_initp
      | INT _v_12 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0208 _menhir_initp
      | IDENT _v_13 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0208 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | CHAR _v_14 ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0208 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0208 _menhir_initp
      | AND_OP _ | BAR | COLON | COLON_COLON | COMMA | EQUALS | IN | LENS_PAREN_RIGHT | RARROW | RBRACE | RBRACK | RPAREN | SEMICOLON | SQUIGGLY_RARROW | WHEN ->
          let (_endpos_x_, x) = (_endpos, _v) in
          let _v = _menhir_action_296 x in
          _menhir_goto_nonempty_list_atomicPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0064 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_026 x in
      _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_qual_id_, _startpos_qual_id_, qual_id) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_091 _endpos_qual_id_ _startpos_qual_id_ qual_id in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_qual_id_ _startpos_qual_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0019 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_162 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0020 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_160 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0021 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_158 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0022 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_153 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0023 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_s_, _startpos_s_, s) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_152 _endpos_s_ _startpos_s_ s in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_ _startpos_s_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0024 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_164 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0025 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_167 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0029 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_165 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0030 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_r_, _startpos_r_, r) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_155 r in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_r_ _startpos_r_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0031 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_166 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0036 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_701 _endpos_id_ _startpos_id_ id in
      _menhir_goto_uident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_uident : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0097 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0099 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0134 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0253 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0704 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0792 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0924 ->
          _menhir_run_0098 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0114 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0113 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0166 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0170 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1084 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1086 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1248 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1253 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1256 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1296 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1320 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1334 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1339 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1344 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1349 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1354 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1359 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1475 ->
          _menhir_run_0172 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1276 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1278 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1284 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1286 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1289 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1294 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1388 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1453 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1456 ->
          _menhir_run_0194 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1031 ->
          _menhir_run_1032 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1201 ->
          _menhir_run_1202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1215 ->
          _menhir_run_1216 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1365 ->
          _menhir_run_1366 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1364 ->
          _menhir_run_1380 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_1390 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1458 ->
          _menhir_run_1459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1464 ->
          _menhir_run_1465 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1463 ->
          _menhir_run_1470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0098 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0099 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0057 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_218 _endpos_id_ _startpos_id_ id in
      _menhir_goto_lident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_lident : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0097 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0099 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0114 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0134 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0253 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0704 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0792 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0924 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0101 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0117 ->
          _menhir_run_0118 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0166 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0170 ->
          _menhir_run_0173 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0176 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0174 ->
          _menhir_run_0176 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0177 ->
          _menhir_run_0176 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0203 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0205 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0947 ->
          _menhir_run_0207 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0212 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0956 ->
          _menhir_run_0214 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0215 ->
          _menhir_run_0217 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0217 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0395 ->
          _menhir_run_0396 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0682 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1037 ->
          _menhir_run_1079 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1084 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1086 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1248 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1253 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1256 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1296 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1320 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1334 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1339 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1344 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1349 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1354 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1359 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1475 ->
          _menhir_run_1088 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1117 ->
          _menhir_run_1139 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1137 ->
          _menhir_run_1139 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1205 ->
          _menhir_run_1139 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1140 ->
          _menhir_run_1158 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1162 ->
          _menhir_run_1180 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1181 ->
          _menhir_run_1199 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_1200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_1200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1370 ->
          _menhir_run_1373 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1378 ->
          _menhir_run_1373 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1405 ->
          _menhir_run_1447 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0101 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_363 id in
      _menhir_goto_path_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_path_lident_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0099 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0114 ->
          _menhir_run_0100 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0097 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0134 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0253 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0704 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0792 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0924 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0137 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0100 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_uident _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_uident (_menhir_stack, _menhir_s, uid, _startpos_uid_, _) = _menhir_stack in
      let (_endpos_p_, p) = (_endpos, _v) in
      let _v = _menhir_action_364 p uid in
      _menhir_goto_path_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_p_ _startpos_uid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0137 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_ids_, _startpos_ids_, ids) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_397 ids in
      _menhir_goto_qlident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ids_ _startpos_ids_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_qlident : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0097 ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0924 ->
          _menhir_run_0104 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0132 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0134 ->
          _menhir_run_0135 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0704 ->
          _menhir_run_0705 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0253 ->
          _menhir_run_0775 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0775 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0792 ->
          _menhir_run_0775 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0790 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_1394 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0104 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _menhir_stack = MenhirCell1_qlident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0105 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOT_DOT ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE | SEMICOLON ->
          let (_endpos_lid_, _startpos_lid_, lid) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_188 _endpos_lid_ _startpos_lid_ lid in
          _menhir_goto_fieldPattern _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0065 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0065 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0037 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_149 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0052 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_157 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0053 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_163 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0054 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_161 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0055 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_159 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0056 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_150 n in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0058 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_154 () in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0059 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_c_, _startpos_c_, c) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_151 c in
      _menhir_goto_constant _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos_c_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0067 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0067 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0068 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0070 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3R _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3L _v ->
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX2 _v ->
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX1 _v ->
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0d _v ->
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0c _v ->
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0b _v ->
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0a _v ->
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0081 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0083 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0932 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0934 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | EQUALS ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0936 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0068 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_) = (_endpos, _startpos, _v, _endpos_1) in
          let _v = _menhir_action_081 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0048 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_138 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_binop_name : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0254 ->
          _menhir_run_0276 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0563 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0563 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0563 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0670 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0718 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0718 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0911 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0945 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0945 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1038 ->
          _menhir_run_1074 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_1112 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1118 ->
          _menhir_run_1133 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1141 ->
          _menhir_run_1156 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1163 ->
          _menhir_run_1178 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1182 ->
          _menhir_run_1197 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1301 ->
          _menhir_run_1316 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1297 ->
          _menhir_run_1356 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1406 ->
          _menhir_run_1442 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0276 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (op, _endpos__3_) = (_v, _endpos_1) in
          let _v = _menhir_action_400 op in
          _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_qlidentOrOperator : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _menhir_stack = MenhirCell1_qlidentOrOperator (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0282 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE | SEMICOLON ->
          let (_endpos_lid_, _startpos_lid_, lid) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_545 _endpos_lid_ _startpos_lid_ lid in
          _menhir_goto_simpleDef _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_lid_ _startpos_lid_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0027 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_TRY (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0027 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0028 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0028 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0026 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_SEQ_BANG_LBRACK (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0026 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0026 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_501 () in
          _menhir_run_1022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0033 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_SYNTH (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0033 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0032 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_PERCENT_LBRACK (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0032 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0032 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_501 () in
          _menhir_run_1017 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0046 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_REQUIRES (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0046 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0042 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
          let _v = _menhir_action_096 _endpos__1_ _startpos__1_ in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | COLON ->
          let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
          let _v = _menhir_action_220 _endpos__1_ _startpos__1_ in
          _menhir_goto_lidentOrUnderscore _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_lidentOrUnderscore : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0094 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0228 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0243 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0302 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0760 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0890 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0905 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0949 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1040 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1045 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1050 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1065 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1089 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1106 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1108 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1373 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1408 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1413 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1433 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1447 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1465 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1470 ->
          _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0232 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0947 ->
          _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0956 ->
          _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0237 ->
          _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0958 ->
          _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0296 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0413 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0477 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0477 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0477 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0477 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0231 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_070 x in
      _menhir_goto_aqualifiedWithAttrs_lidentOrUnderscore_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_aqualifiedWithAttrs_lidentOrUnderscore_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0123 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0228 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0243 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0302 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0760 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0890 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0905 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1040 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1045 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1050 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1065 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1089 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1106 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1108 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1373 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1408 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1413 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1433 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1447 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1465 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1470 ->
          _menhir_run_0234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0858 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0858 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0949 ->
          _menhir_run_0858 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0949 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0234 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_aqualifiedWithAttrs_lid_, _startpos_aqualifiedWithAttrs_lid_, aqualifiedWithAttrs_lid) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_252 _endpos_aqualifiedWithAttrs_lid_ _startpos_aqualifiedWithAttrs_lid_ aqualifiedWithAttrs_lid in
      _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos_aqualifiedWithAttrs_lid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_multiBinder : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_multiBinder (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0229 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0229 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0229 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0229 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0229 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0229 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0229 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0229 _menhir_initp
      | AND | ASSUME | BLOB _ | CLASS | COLON | DOT | EFFECT | EOF | EQUALS | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0230 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_1 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0124 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_220 _endpos__1_ _startpos__1_ in
      _menhir_goto_lidentOrUnderscore _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0125 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_251 _endpos__1_ _startpos__1_ in
      _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0126 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0126 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0086 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACK_AT_AT_AT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0086 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0086 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_501 () in
          _menhir_run_0978 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0043 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_QUOTE (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0043 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0034 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0034 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0035 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_OPPREFIX as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0035 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0038 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0038 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3R _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3L _v ->
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX2 _v ->
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX1 _v ->
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0d _v ->
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0c _v ->
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0b _v ->
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0a _v ->
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0485 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0488 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0538 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0039 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0039 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0039 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0039 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0039 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0039 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0039 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | RPAREN ->
          let _startpos_6 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_7 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _v, _endpos_7, _startpos_6) in
          let _v = _menhir_action_101 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | REAL _v_8 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0039 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | OPPREFIX _v_9 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0039 _menhir_initp
      | NAME _v_10 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0039 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | INT8 _v_11 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0039 _menhir_initp
      | INT64 _v_12 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0039 _menhir_initp
      | INT32 _v_13 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0039 _menhir_initp
      | INT16 _v_14 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0039 _menhir_initp
      | INT _v_15 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0039 _menhir_initp
      | IDENT _v_16 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0039 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | CHAR _v_17 ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0039 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0039 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0041 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0041 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0044 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0044 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0045 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACK (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0045 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0045 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_501 () in
          _menhir_run_1005 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0061 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_op_, _startpos_op_, op) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_243 _endpos_op_ _startpos_op_ op in
      _menhir_goto_matchMaybeOp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_op_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_matchMaybeOp : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_matchMaybeOp (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0393 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0393 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0393 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0393 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0393 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0393 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0393 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0393 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0393 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0393 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0393 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0393 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0393 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0393 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0393 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0393 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0393 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0393 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0393 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0393 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0393 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0393 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0393 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0062 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_242 () in
      _menhir_goto_matchMaybeOp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0047 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0047 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3R _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3L _v ->
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX2 _v ->
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX1 _v ->
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0d _v ->
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0c _v ->
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0b _v ->
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0a _v ->
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0485 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0488 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0538 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0049 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_139 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0050 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0050 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0050 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0050 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0050 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0050 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0050 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | RPAREN ->
          let _startpos_6 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_7 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _v, _endpos_7, _startpos_6) in
          let _v = _menhir_action_099 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | REAL _v_8 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0050 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | OPPREFIX _v_9 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0050 _menhir_initp
      | NAME _v_10 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0050 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | INT8 _v_11 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0050 _menhir_initp
      | INT64 _v_12 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0050 _menhir_initp
      | INT32 _v_13 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0050 _menhir_initp
      | INT16 _v_14 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0050 _menhir_initp
      | INT _v_15 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0050 _menhir_initp
      | IDENT _v_16 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0050 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | CHAR _v_17 ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0050 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0050 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0060 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_BEGIN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0060 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0063 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0063 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0085 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0085 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0096 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACK (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0096 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0096 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_510 () in
          _menhir_run_0929 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0097 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0097 _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0097 _menhir_initp
      | RBRACE ->
          let _v = _menhir_action_495 () in
          _menhir_run_0102 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0102 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACE -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos__3_, record_pat) = (_endpos, _v) in
      let _v = _menhir_action_077 _endpos__3_ _startpos__1_ record_pat in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0106 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | LBRACK ->
          let _menhir_stack = MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_LBRACK (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0107 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | BACKTICK | BACKTICK_AT | BACKTICK_HASH | BACKTICK_PERC | BANG_LBRACE | BEGIN | CHAR _ | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | OPPREFIX _ | PERCENT_LBRACK | QUOTE | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TILDE _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _startpos__1_ = _startpos in
          let _v = _menhir_action_021 () in
          _menhir_goto_aqual _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0087 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LET (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNFOLD ->
          _menhir_run_0088 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0087 _menhir_initp
      | REC ->
          _menhir_run_0089 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0087 _menhir_initp
      | OPEN ->
          let _menhir_s = MenhirState0087 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_OPEN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0090 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | SQUIGGLY_RARROW | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _v = _menhir_action_241 () in
          _menhir_run_0973 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v MenhirState0087 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0088 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_240 () in
      _menhir_goto_localletqualifier _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_localletqualifier : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0426 ->
          _menhir_run_0427 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0087 ->
          _menhir_run_0973 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0427 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_attribute _menhir_cell0_LET as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_localletqualifier (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0427 _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _menhir_s = MenhirState0427 in
          let _v = _menhir_action_140 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0428 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_141 () in
      _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_boption_SQUIGGLY_RARROW_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_b_, _startpos_b_, b) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_246 b in
      let (_endpos, _startpos) = (_endpos_b_, _startpos_b_) in
      let _menhir_stack = MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0429 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0429 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0429 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0429 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0429 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0429 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0429 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | NAME _v_7 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0429 _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | LPAREN ->
          let _startpos_8 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_9 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | UINT8 _v_10 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0430 _menhir_initp
          | UINT64 _v_11 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0430 _menhir_initp
          | UINT32 _v_12 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0430 _menhir_initp
          | UINT16 _v_13 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0430 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | TILDE _v_14 ->
              let _startpos_15 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_16 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_17 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_18 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | UINT8 _v_19 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0432 _menhir_initp
                  | UINT64 _v_20 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0432 _menhir_initp
                  | UINT32 _v_21 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0432 _menhir_initp
                  | UINT16 _v_22 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0432 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | STRING _v_23 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0432 _menhir_initp
                  | SIZET _v_24 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0432 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | REAL _v_25 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0432 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | NAME _v_26 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0432 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | INT8 _v_27 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState0432 _menhir_initp
                  | INT64 _v_28 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState0432 _menhir_initp
                  | INT32 _v_29 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_29 MenhirState0432 _menhir_initp
                  | INT16 _v_30 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState0432 _menhir_initp
                  | INT _v_31 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState0432 _menhir_initp
                  | IDENT _v_32 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState0432 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | CHAR _v_33 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState0432 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0430, _v_14, _startpos_15, _endpos_16) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_17, _endpos_18) in
                      _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0432 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_34 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_8, _endpos_16, _startpos_15, _v_14, _endpos_18) in
                        _menhir_action_081 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_18 _startpos_8 _v_34 MenhirState0429 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | STRING _v_35 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState0430 _menhir_initp
          | SIZET _v_36 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState0430 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | REAL _v_37 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState0430 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_38 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState0430 _menhir_initp
          | OP_MIXFIX_ACCESS _v_39 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState0430 _menhir_initp
          | OPPREFIX _v_40 ->
              let _startpos_41 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_42 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_43 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_44 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | UINT8 _v_45 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_45 MenhirState0628 _menhir_initp
                  | UINT64 _v_46 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_46 MenhirState0628 _menhir_initp
                  | UINT32 _v_47 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_47 MenhirState0628 _menhir_initp
                  | UINT16 _v_48 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_48 MenhirState0628 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | STRING _v_49 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_49 MenhirState0628 _menhir_initp
                  | SIZET _v_50 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_50 MenhirState0628 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | REAL _v_51 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState0628 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | NAME _v_52 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_52 MenhirState0628 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | INT8 _v_53 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_53 MenhirState0628 _menhir_initp
                  | INT64 _v_54 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_54 MenhirState0628 _menhir_initp
                  | INT32 _v_55 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_55 MenhirState0628 _menhir_initp
                  | INT16 _v_56 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_56 MenhirState0628 _menhir_initp
                  | INT _v_57 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_57 MenhirState0628 _menhir_initp
                  | IDENT _v_58 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState0628 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | CHAR _v_59 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_59 MenhirState0628 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0430, _v_40, _startpos_41, _endpos_42) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_43, _endpos_44) in
                      _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0628 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_60 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_8, _endpos_42, _startpos_41, _v_40, _endpos_44) in
                        _menhir_action_079 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_44 _startpos_8 _v_60 MenhirState0429 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | OPINFIX4 _v_61 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_61 MenhirState0430 _menhir_initp
          | OPINFIX3R _v_62 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState0430 _menhir_initp
          | OPINFIX3L _v_63 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_63 MenhirState0430 _menhir_initp
          | OPINFIX2 _v_64 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_64 MenhirState0430 _menhir_initp
          | OPINFIX1 _v_65 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_65 MenhirState0430 _menhir_initp
          | OPINFIX0d _v_66 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_66 MenhirState0430 _menhir_initp
          | OPINFIX0c _v_67 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_67 MenhirState0430 _menhir_initp
          | OPINFIX0b _v_68 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_68 MenhirState0430 _menhir_initp
          | OPINFIX0a _v_69 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_69 MenhirState0430 _menhir_initp
          | NAME _v_70 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_70 MenhirState0430 _menhir_initp
          | MINUS ->
              let _startpos_71 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_72 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UINT8 _v_73 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState0633 _menhir_initp
              | UINT64 _v_74 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_74 MenhirState0633 _menhir_initp
              | UINT32 _v_75 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_75 MenhirState0633 _menhir_initp
              | UINT16 _v_76 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_76 MenhirState0633 _menhir_initp
              | TRUE ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
              | STRING _v_77 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_77 MenhirState0633 _menhir_initp
              | SIZET _v_78 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_78 MenhirState0633 _menhir_initp
              | SET_RANGE_OF ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
              | RPAREN ->
                  let _startpos_79 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_80 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | UINT8 _v_81 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_81 MenhirState0634 _menhir_initp
                  | UINT64 _v_82 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_82 MenhirState0634 _menhir_initp
                  | UINT32 _v_83 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_83 MenhirState0634 _menhir_initp
                  | UINT16 _v_84 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_84 MenhirState0634 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | STRING _v_85 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_85 MenhirState0634 _menhir_initp
                  | SIZET _v_86 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_86 MenhirState0634 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | REAL _v_87 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_87 MenhirState0634 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | NAME _v_88 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_88 MenhirState0634 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | INT8 _v_89 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_89 MenhirState0634 _menhir_initp
                  | INT64 _v_90 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_90 MenhirState0634 _menhir_initp
                  | INT32 _v_91 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_91 MenhirState0634 _menhir_initp
                  | INT16 _v_92 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_92 MenhirState0634 _menhir_initp
                  | INT _v_93 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_93 MenhirState0634 _menhir_initp
                  | IDENT _v_94 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_94 MenhirState0634 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | CHAR _v_95 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_95 MenhirState0634 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                      let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, MenhirState0633, _startpos_79, _endpos_80) in
                      _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0634 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_96 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_8, _endpos_72, _startpos_71, (), _endpos_80) in
                        _menhir_action_082 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_80 _startpos_8 _v_96 MenhirState0429 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | REIFY ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
              | REAL _v_97 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_97 MenhirState0633 _menhir_initp
              | RANGE_OF ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
              | LPAREN_RPAREN ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
              | INT8 _v_98 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_98 MenhirState0633 _menhir_initp
              | INT64 _v_99 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_99 MenhirState0633 _menhir_initp
              | INT32 _v_100 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_100 MenhirState0633 _menhir_initp
              | INT16 _v_101 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_101 MenhirState0633 _menhir_initp
              | INT _v_102 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_102 MenhirState0633 _menhir_initp
              | FALSE ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0633 _menhir_initp
              | CHAR _v_103 ->
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0430, _startpos_71, _endpos_72) in
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_103 MenhirState0633 _menhir_initp
              | _ ->
                  _eRR ())
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | LET_OP _v_104 ->
              let _startpos_105 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_106 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_107 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_108 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | UINT8 _v_109 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_109 MenhirState0640 _menhir_initp
                  | UINT64 _v_110 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_110 MenhirState0640 _menhir_initp
                  | UINT32 _v_111 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_111 MenhirState0640 _menhir_initp
                  | UINT16 _v_112 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_112 MenhirState0640 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | STRING _v_113 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_113 MenhirState0640 _menhir_initp
                  | SIZET _v_114 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_114 MenhirState0640 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | REAL _v_115 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_115 MenhirState0640 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | NAME _v_116 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_116 MenhirState0640 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | INT8 _v_117 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_117 MenhirState0640 _menhir_initp
                  | INT64 _v_118 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_118 MenhirState0640 _menhir_initp
                  | INT32 _v_119 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_119 MenhirState0640 _menhir_initp
                  | INT16 _v_120 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_120 MenhirState0640 _menhir_initp
                  | INT _v_121 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_121 MenhirState0640 _menhir_initp
                  | IDENT _v_122 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_122 MenhirState0640 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | CHAR _v_123 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_123 MenhirState0640 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0430, _v_104, _startpos_105, _endpos_106) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_107, _endpos_108) in
                      _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0640 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_124 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_8, _endpos_106, _startpos_105, _v_104, _endpos_108) in
                        _menhir_action_084 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_108 _startpos_8 _v_124 MenhirState0429 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | INT8 _v_125 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_125 MenhirState0430 _menhir_initp
          | INT64 _v_126 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_126 MenhirState0430 _menhir_initp
          | INT32 _v_127 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_127 MenhirState0430 _menhir_initp
          | INT16 _v_128 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_128 MenhirState0430 _menhir_initp
          | INT _v_129 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_129 MenhirState0430 _menhir_initp
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | IDENT _v_130 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_130 MenhirState0430 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | FORALL_OP _v_131 ->
              let _startpos_132 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_133 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_134 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_135 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | UINT8 _v_136 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_136 MenhirState0646 _menhir_initp
                  | UINT64 _v_137 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_137 MenhirState0646 _menhir_initp
                  | UINT32 _v_138 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_138 MenhirState0646 _menhir_initp
                  | UINT16 _v_139 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_139 MenhirState0646 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | STRING _v_140 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_140 MenhirState0646 _menhir_initp
                  | SIZET _v_141 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_141 MenhirState0646 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | REAL _v_142 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_142 MenhirState0646 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | NAME _v_143 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_143 MenhirState0646 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | INT8 _v_144 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_144 MenhirState0646 _menhir_initp
                  | INT64 _v_145 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_145 MenhirState0646 _menhir_initp
                  | INT32 _v_146 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_146 MenhirState0646 _menhir_initp
                  | INT16 _v_147 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_147 MenhirState0646 _menhir_initp
                  | INT _v_148 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_148 MenhirState0646 _menhir_initp
                  | IDENT _v_149 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_149 MenhirState0646 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | CHAR _v_150 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_150 MenhirState0646 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0430, _v_131, _startpos_132, _endpos_133) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_134, _endpos_135) in
                      _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0646 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_151 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_8, _endpos_133, _startpos_132, _v_131, _endpos_135) in
                        _menhir_action_086 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_135 _startpos_8 _v_151 MenhirState0429 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | EXISTS_OP _v_152 ->
              let _startpos_153 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_154 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_155 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_156 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | UINT8 _v_157 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_157 MenhirState0652 _menhir_initp
                  | UINT64 _v_158 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_158 MenhirState0652 _menhir_initp
                  | UINT32 _v_159 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_159 MenhirState0652 _menhir_initp
                  | UINT16 _v_160 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_160 MenhirState0652 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | STRING _v_161 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_161 MenhirState0652 _menhir_initp
                  | SIZET _v_162 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_162 MenhirState0652 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | REAL _v_163 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_163 MenhirState0652 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | NAME _v_164 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_164 MenhirState0652 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | INT8 _v_165 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_165 MenhirState0652 _menhir_initp
                  | INT64 _v_166 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_166 MenhirState0652 _menhir_initp
                  | INT32 _v_167 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_167 MenhirState0652 _menhir_initp
                  | INT16 _v_168 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_168 MenhirState0652 _menhir_initp
                  | INT _v_169 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_169 MenhirState0652 _menhir_initp
                  | IDENT _v_170 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_170 MenhirState0652 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | CHAR _v_171 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_171 MenhirState0652 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0430, _v_152, _startpos_153, _endpos_154) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                      _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0652 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_172 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_8, _endpos_154, _startpos_153, _v_152, _endpos_156) in
                        _menhir_action_085 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_156 _startpos_8 _v_172 MenhirState0429 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | DOT_DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | CHAR _v_173 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_173 MenhirState0430 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0430 _menhir_initp
          | AND_OP _v_174 ->
              let _startpos_175 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_176 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _startpos_177 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_178 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | UINT8 _v_179 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_179 MenhirState0658 _menhir_initp
                  | UINT64 _v_180 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_180 MenhirState0658 _menhir_initp
                  | UINT32 _v_181 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_181 MenhirState0658 _menhir_initp
                  | UINT16 _v_182 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_182 MenhirState0658 _menhir_initp
                  | TRUE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | STRING _v_183 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_183 MenhirState0658 _menhir_initp
                  | SIZET _v_184 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_184 MenhirState0658 _menhir_initp
                  | SET_RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | REIFY ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | REAL _v_185 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_185 MenhirState0658 _menhir_initp
                  | RANGE_OF ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | NAME _v_186 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_186 MenhirState0658 _menhir_initp
                  | MINUS ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | LPAREN_RPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | LPAREN ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | LENS_PAREN_LEFT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | LBRACK ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | LBRACE_BAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | LBRACE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | INT8 _v_187 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_187 MenhirState0658 _menhir_initp
                  | INT64 _v_188 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_188 MenhirState0658 _menhir_initp
                  | INT32 _v_189 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_189 MenhirState0658 _menhir_initp
                  | INT16 _v_190 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_190 MenhirState0658 _menhir_initp
                  | INT _v_191 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_191 MenhirState0658 _menhir_initp
                  | IDENT _v_192 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_192 MenhirState0658 _menhir_initp
                  | HASH ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | FALSE ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | DOT_DOT ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | DOLLAR ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | CHAR _v_193 ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_193 MenhirState0658 _menhir_initp
                  | BACKTICK_PERC ->
                      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState0429, _startpos_8, _endpos_9) in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState0430, _v_174, _startpos_175, _endpos_176) in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_177, _endpos_178) in
                      _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0658 _menhir_initp
                  | COLON | COLON_COLON | COMMA | EQUALS ->
                      let _v_194 =
                        let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos_8, _endpos_176, _startpos_175, _v_174, _endpos_178) in
                        _menhir_action_083 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op
                      in
                      _menhir_run_0221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_178 _startpos_8 _v_194 MenhirState0429 _tok _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | INT8 _v_195 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_195 MenhirState0429 _menhir_initp
      | INT64 _v_196 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_196 MenhirState0429 _menhir_initp
      | INT32 _v_197 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_197 MenhirState0429 _menhir_initp
      | INT16 _v_198 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_198 MenhirState0429 _menhir_initp
      | INT _v_199 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_199 MenhirState0429 _menhir_initp
      | IDENT _v_200 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_200 MenhirState0429 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | CHAR _v_201 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_201 MenhirState0429 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0429 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0094 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | COLON | COLON_COLON | COMMA | RPAREN ->
              let (_menhir_s, _endpos_x_, _startpos_x_, x) = (MenhirState0094, _endpos_1, _startpos_0, ()) in
              let _v = _menhir_action_026 x in
              _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
          | DOLLAR | HASH | IDENT _ | LBRACK_AT_AT_AT | UNDERSCORE ->
              let _v =
                let (_endpos__1_, _startpos__1_) = (_endpos_1, _startpos_0) in
                _menhir_action_220 _endpos__1_ _startpos__1_
              in
              _menhir_run_0231 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _startpos_0 _v MenhirState0094 _tok _menhir_initp
          | _ ->
              _eRR ())
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | TILDE _v ->
          _menhir_run_0068 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0070 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPINFIX3R _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPINFIX3L _v ->
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPINFIX2 _v ->
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPINFIX1 _v ->
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPINFIX0d _v ->
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPINFIX0c _v ->
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPINFIX0b _v ->
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | OPINFIX0a _v ->
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | MINUS ->
          _menhir_run_0081 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | LET_OP _v ->
          _menhir_run_0083 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | IMPLIES ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | IFF ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | IDENT _v ->
          _menhir_run_0931 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0932 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0934 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | EQUALS ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0094 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0094 _menhir_initp
      | AND_OP _v ->
          _menhir_run_0936 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0070 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_) = (_endpos, _startpos, _v, _endpos_1) in
          let _v = _menhir_action_079 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0072 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_131 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0073 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_130 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0074 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_129 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0075 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_128 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0076 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_127 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0077 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_126 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0078 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_124 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0079 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_123 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0080 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_122 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0081 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UINT8 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | UINT64 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | UINT32 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | UINT16 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0081 _menhir_initp
      | STRING _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | SIZET _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0081 _menhir_initp
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_) = (_endpos, _startpos, (), _endpos_1) in
          let _v = _menhir_action_082 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0081 _menhir_initp
      | REAL _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0081 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0081 _menhir_initp
      | INT8 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | INT64 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | INT32 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | INT16 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | INT _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0081 _menhir_initp
      | CHAR _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0081 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0083 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_) = (_endpos, _startpos, _v, _endpos_1) in
          let _v = _menhir_action_084 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0263 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_132 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0264 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_135 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0931 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | COLON | COLON_COLON | COMMA | RPAREN ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_218 _endpos_id_ _startpos_id_ id in
          _menhir_goto_lident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | DOLLAR | HASH | IDENT _ | LBRACK_AT_AT_AT | UNDERSCORE ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_219 _endpos_id_ _startpos_id_ id in
          _menhir_goto_lidentOrUnderscore _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0932 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_) = (_endpos, _startpos, _v, _endpos_1) in
          let _v = _menhir_action_086 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0934 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_) = (_endpos, _startpos, _v, _endpos_1) in
          let _v = _menhir_action_085 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0269 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_125 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0190 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_075 _endpos__1_ _startpos__1_ in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0128 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _startpos__1_ = _startpos in
      let _v = _menhir_action_022 () in
      _menhir_goto_aqual _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_aqual : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0063 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0212 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0228 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0243 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0302 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0760 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0890 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0905 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0949 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1040 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1045 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1050 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1065 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1089 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1106 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1108 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1373 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1408 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1413 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1433 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1447 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1465 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1470 ->
          _menhir_run_0235 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0365 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0471 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0594 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0604 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0956 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0994 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_1162 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1117 ->
          _menhir_run_1162 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1137 ->
          _menhir_run_1162 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1205 ->
          _menhir_run_1162 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_1162 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0212 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let (_endpos_x_, x, _startpos_aq_, aq) = (_endpos, (), _startpos, _v) in
          let _v = _menhir_action_024 aq x in
          _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0212 _menhir_initp
      | IDENT _v_1 ->
          let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0212 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0235 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0235 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0235 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0127 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_219 _endpos_id_ _startpos_id_ id in
      _menhir_goto_lidentOrUnderscore _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0365 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0365 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0365 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0365 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0365 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0365 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0365 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0365 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0365 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0365 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0365 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0365 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0365 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0365 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0365 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0365 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0365 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0365 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0365 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0365 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0365 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0109 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0109 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0110 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0110 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | UINT8 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | UINT64 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | UINT32 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | UINT16 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | TRY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | TILDE _v ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | UINT8 _v_2 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0111 _menhir_initp
          | UINT64 _v_3 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0111 _menhir_initp
          | UINT32 _v_4 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0111 _menhir_initp
          | UINT16 _v_5 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0111 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | STRING _v_6 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0111 _menhir_initp
          | SIZET _v_7 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0111 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | RPAREN ->
              let _startpos_8 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_9 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_1, _startpos_0, _v, _endpos_9, _startpos_8) in
                  let _v = _menhir_action_101 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_1, _startpos_0, _v, _endpos_9) in
                  let _v = _menhir_action_401 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | REAL _v_10 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0111 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | OPPREFIX _v_11 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0111 _menhir_initp
          | NAME _v_12 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0111 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | INT8 _v_13 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0111 _menhir_initp
          | INT64 _v_14 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0111 _menhir_initp
          | INT32 _v_15 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0111 _menhir_initp
          | INT16 _v_16 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0111 _menhir_initp
          | INT _v_17 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0111 _menhir_initp
          | IDENT _v_18 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0111 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | CHAR _v_19 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0111 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState0110, _v, _startpos_0, _endpos_1) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0111 _menhir_initp
          | _ ->
              _eRR ())
      | SYNTH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | STRING _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | SIZET _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | REQUIRES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | REAL _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | QUOTE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPPREFIX _v ->
          let _startpos_20 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_21 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | UINT8 _v_22 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0897 _menhir_initp
          | UINT64 _v_23 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0897 _menhir_initp
          | UINT32 _v_24 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0897 _menhir_initp
          | UINT16 _v_25 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0897 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | STRING _v_26 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0897 _menhir_initp
          | SIZET _v_27 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState0897 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | RPAREN ->
              let _startpos_28 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_29 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_21, _startpos_20, _v, _endpos_29, _startpos_28) in
                  let _v = _menhir_action_099 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_21, _startpos_20, _v, _endpos_29) in
                  let _v = _menhir_action_399 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | REAL _v_30 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState0897 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | OPPREFIX _v_31 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState0897 _menhir_initp
          | NAME _v_32 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState0897 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | INT8 _v_33 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState0897 _menhir_initp
          | INT64 _v_34 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState0897 _menhir_initp
          | INT32 _v_35 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState0897 _menhir_initp
          | INT16 _v_36 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState0897 _menhir_initp
          | INT _v_37 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState0897 _menhir_initp
          | IDENT _v_38 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState0897 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | CHAR _v_39 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState0897 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState0110, _v, _startpos_20, _endpos_21) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0897 _menhir_initp
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPINFIX3R _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPINFIX3L _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPINFIX2 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPINFIX1 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPINFIX0d _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPINFIX0c _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPINFIX0b _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | OPINFIX0a _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | NAME _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | MINUS ->
          let _startpos_40 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_41 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | UINT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | UINT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | UINT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | UINT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | TILDE _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | STRING _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | SIZET _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | RPAREN ->
              let _startpos_42 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_43 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_41, _startpos_40, (), _endpos_43, _startpos_42) in
                  let _v = _menhir_action_102 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_41, _startpos_40, (), _endpos_43) in
                  let _v = _menhir_action_402 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | REAL _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | QUOTE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | OPPREFIX _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | NAME _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | INT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | INT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | INT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | INT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | INT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | IDENT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | FUN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | FORALL_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | FORALL ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | EXISTS_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | EXISTS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | CHAR _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0901 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | BACKTICK_HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | BACKTICK_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | BACKTICK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState0110, _startpos_40, _endpos_41) in
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0901 _menhir_initp
          | _ ->
              _eRR ())
      | MATCH_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | MATCH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LET_OP _v ->
          let _startpos_44 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_45 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | UINT8 _v_46 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_46 MenhirState0903 _menhir_initp
          | UINT64 _v_47 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_47 MenhirState0903 _menhir_initp
          | UINT32 _v_48 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_48 MenhirState0903 _menhir_initp
          | UINT16 _v_49 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_49 MenhirState0903 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | STRING _v_50 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_50 MenhirState0903 _menhir_initp
          | SIZET _v_51 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState0903 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | RPAREN ->
              let _startpos_52 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_53 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_45, _startpos_44, _v, _endpos_53, _startpos_52) in
                  let _v = _menhir_action_104 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_45, _startpos_44, _v, _endpos_53) in
                  let _v = _menhir_action_404 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | REAL _v_54 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_54 MenhirState0903 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | NAME _v_55 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_55 MenhirState0903 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | INT8 _v_56 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_56 MenhirState0903 _menhir_initp
          | INT64 _v_57 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_57 MenhirState0903 _menhir_initp
          | INT32 _v_58 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState0903 _menhir_initp
          | INT16 _v_59 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_59 MenhirState0903 _menhir_initp
          | INT _v_60 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_60 MenhirState0903 _menhir_initp
          | IDENT _v_61 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_61 MenhirState0903 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | DOT_DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | CHAR _v_62 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState0903 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState0110, _v, _startpos_44, _endpos_45) in
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0903 _menhir_initp
          | _ ->
              _eRR ())
      | LET ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LBRACK_AT_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LBRACK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | INTRO ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | INT8 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | INT64 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | INT32 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | INT16 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | INT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | IMPLIES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | IF_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | IF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | IDENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | FUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | FUN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | FORALL_OP _v ->
          let _startpos_63 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_64 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0905 _menhir_initp
          | RPAREN ->
              let _startpos_65 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_66 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_64, _startpos_63, _v, _endpos_66, _startpos_65) in
                  let _v = _menhir_action_106 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_64, _startpos_63, _v, _endpos_66) in
                  let _v = _menhir_action_406 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0905 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0905 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0905 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0905 _menhir_initp
          | IDENT _v_67 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_67 MenhirState0905 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0905 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0905 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState0110, _v, _startpos_63, _endpos_64) in
              let _v_68 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_64 _endpos_64 _v_68 MenhirState0905 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FORALL ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | EXISTS_OP _v ->
          let _startpos_69 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_70 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0907 _menhir_initp
          | RPAREN ->
              let _startpos_71 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_72 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_70, _startpos_69, _v, _endpos_72, _startpos_71) in
                  let _v = _menhir_action_105 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_70, _startpos_69, _v, _endpos_72) in
                  let _v = _menhir_action_405 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0907 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0907 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0907 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0907 _menhir_initp
          | IDENT _v_73 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState0907 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0907 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0907 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState0110, _v, _startpos_69, _endpos_70) in
              let _v_74 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_70 _endpos_70 _v_74 MenhirState0907 _tok _menhir_initp
          | _ ->
              _eRR ())
      | EXISTS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ENSURES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ELIM ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | DECREASES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | CHAR _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0110 _menhir_initp
      | CALC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | BACKTICK_HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | BACKTICK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ATTRIBUTES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ASSUME ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | ASSERT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0110 _menhir_initp
      | AND_OP _v ->
          let _startpos_75 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_76 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_77 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_78 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_76, _startpos_75, _v, _endpos_78, _startpos_77) in
                  let _v = _menhir_action_103 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_76, _startpos_75, _v, _endpos_78) in
                  let _v = _menhir_action_403 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0092 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_BANG_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0092 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0092 _menhir_initp
      | RBRACE ->
          let _v = _menhir_action_486 () in
          _menhir_run_0963 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0093 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_FUN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0093 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0433 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0433 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0131 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0131 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0146 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_QUOTE (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0146 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0147 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0147 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0148 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0148 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0110 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0123 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0123 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0123 _menhir_initp
      | DOT ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState0123 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0150 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0150 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0151 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0151 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0152 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BACKTICK_PERC (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0152 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0154 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BACKTICK_HASH (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0154 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0156 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BACKTICK_AT (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0156 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0158 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_BACKTICK (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0158 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0122 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | DOT | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_218 _endpos_id_ _startpos_id_ id in
          _menhir_goto_lident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | COLON | LONG_LEFT_ARROW ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_219 _endpos_id_ _startpos_id_ id in
          _menhir_goto_lidentOrUnderscore _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0239 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_bss_, _startpos_bss_, bss) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_121 bss in
      _menhir_goto_binders _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_bss_ _startpos_bss_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_binders : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0228 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1108 ->
          _menhir_run_0240 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0243 ->
          _menhir_run_0244 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0302 ->
          _menhir_run_0303 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0540 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0540 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0905 ->
          _menhir_run_0540 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1106 ->
          _menhir_run_0540 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0731 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0741 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0741 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0741 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0890 ->
          _menhir_run_0741 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0760 ->
          _menhir_run_0761 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0840 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0861 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0867 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1040 ->
          _menhir_run_1041 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1045 ->
          _menhir_run_1046 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1050 ->
          _menhir_run_1051 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_1056 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_1061 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1065 ->
          _menhir_run_1066 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_1071 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_1076 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_1080 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1089 ->
          _menhir_run_1228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1470 ->
          _menhir_run_1228 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_1367 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1373 ->
          _menhir_run_1374 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1408 ->
          _menhir_run_1409 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1413 ->
          _menhir_run_1414 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_1419 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_1424 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_1429 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1433 ->
          _menhir_run_1434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_1439 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_1444 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1447 ->
          _menhir_run_1448 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1465 ->
          _menhir_run_1466 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0240 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_EXISTS_OP as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0241 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              let _menhir_stack = MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _menhir_s) in
              let _menhir_s = MenhirState0242 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0091 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_LBRACK_AT (_menhir_stack, _menhir_s, _startpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0091 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0091 _menhir_initp
      | RBRACK ->
          let _v = _menhir_action_225 () in
          _menhir_run_0968 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0968 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACK_AT -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RBRACK ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LBRACK_AT (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
          let (x, _endpos__3_) = (_v, _endpos_1) in
          let _v = _menhir_action_118 _endpos__3_ _startpos__1_ x in
          _menhir_goto_attribute _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_attribute : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0425 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0687 ->
          _menhir_run_0694 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0694 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0974 ->
          _menhir_run_0694 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0000 ->
          _menhir_run_1487 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1484 ->
          _menhir_run_1487 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1488 ->
          _menhir_run_1487 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1490 ->
          _menhir_run_1487 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0425 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_attribute (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | LET ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_LET (_menhir_stack, _startpos_0, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNFOLD ->
              _menhir_run_0088 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0426 _menhir_initp
          | REC ->
              _menhir_run_0089 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0426 _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | SQUIGGLY_RARROW | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_1 = _menhir_action_241 () in
              _menhir_run_0427 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState0426 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0089 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_239 () in
      _menhir_goto_localletqualifier _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0694 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_attribute (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | AND ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_AND (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0695 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | SQUIGGLY_RARROW ->
              _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              _menhir_reduce_140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_reduce_140 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp ->
      let _v = _menhir_action_140 () in
      _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1487 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let x = _v in
      let _v = _menhir_action_180 x in
      _menhir_goto_decoration _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0149 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_FORALL (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0149 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0149 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0149 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0149 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0149 _menhir_initp
      | IDENT _v ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0149 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0149 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0149 _menhir_initp
      | DOT ->
          let _v = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v MenhirState0149 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0228 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0228 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0228 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0228 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0228 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0228 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0228 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0228 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0228 _menhir_initp
      | DOT ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState0228 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0243 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_EXISTS (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0243 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0243 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0243 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0243 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0243 _menhir_initp
      | IDENT _v ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0243 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0243 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0243 _menhir_initp
      | DOT ->
          let _v = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v MenhirState0243 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0108 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0108 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0284 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BACKTICK_PERC (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0284 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0286 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BACKTICK_HASH (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0286 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0288 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BACKTICK_AT (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0288 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0290 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_BACKTICK (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0290 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0121 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_INTRO (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | FORALL ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_FORALL (_menhir_stack, MenhirState0121, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0860 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0860 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0860 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0860 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0860 _menhir_initp
          | IDENT _v ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0860 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0860 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0860 _menhir_initp
          | DOT ->
              let _v = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v MenhirState0860 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | EXISTS ->
          let _startpos_2 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_3 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_EXISTS (_menhir_stack, MenhirState0121, _startpos_2, _endpos_3) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0866 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0866 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0866 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0866 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0866 _menhir_initp
          | IDENT _v ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0866 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0866 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0866 _menhir_initp
          | DOT ->
              let _v = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_3 _endpos_3 _v MenhirState0866 _tok _menhir_initp
          | _ ->
              _eRR ())
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0121 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0121 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0187 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_op_, _startpos_op_, op) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_198 _endpos_op_ _startpos_op_ op in
      _menhir_goto_ifMaybeOp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_op_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_ifMaybeOp : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_ifMaybeOp (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0418 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0418 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0418 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0418 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0418 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0418 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0418 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0418 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0418 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0418 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0418 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0418 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0418 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0418 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0418 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0418 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0418 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0418 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0418 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0418 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0418 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0418 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0418 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0188 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_197 () in
      _menhir_goto_ifMaybeOp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0189 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_FUNCTION (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0189 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BAR ->
          _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0191 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BAR (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0191 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0192 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BACKTICK_PERC (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0192 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0283 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_ENSURES (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0283 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0301 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_ELIM (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | FORALL ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_FORALL (_menhir_stack, MenhirState0301, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0302 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0302 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0302 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0302 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0302 _menhir_initp
          | IDENT _v ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0302 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0302 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0302 _menhir_initp
          | DOT ->
              let _v = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v MenhirState0302 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | EXISTS ->
          let _startpos_2 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_3 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_EXISTS (_menhir_stack, MenhirState0301, _startpos_2, _endpos_3) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
          | IDENT _v ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0730 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0730 _menhir_initp
          | DOT ->
              let _v = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_3 _endpos_3 _v MenhirState0730 _tok _menhir_initp
          | _ ->
              _eRR ())
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0301 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0301 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0308 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_DECREASES (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0308 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_COLON_WELL_FOUNDED ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_LBRACE_COLON_WELL_FOUNDED (_menhir_stack, _menhir_s, _endpos) in
          let _menhir_s = MenhirState0309 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0310 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_CALC (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0310 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0313 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_ATTRIBUTES (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0313 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0317 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_ASSUME (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0317 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0318 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_ASSERT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0318 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0244 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_EXISTS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0245 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0246 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _menhir_s) in
      let _menhir_s = MenhirState0246 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0303 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_FORALL as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0304 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0305 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _menhir_s) in
      let _menhir_s = MenhirState0305 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0540 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_FORALL_OP as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0541 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              let _menhir_stack = MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _menhir_s) in
              let _menhir_s = MenhirState0542 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0731 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_EXISTS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0732 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0741 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_bs_, _startpos_bs_, bs) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_546 _endpos_bs_ _startpos_bs_ bs in
      _menhir_goto_singleBinder _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_singleBinder : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0737 ->
          _menhir_run_0738 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0748 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0752 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0890 ->
          _menhir_run_0891 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0738 : type  ttv_stack ttv_result. ((((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_RETURNS, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_singleBinder (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0739 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0748 : type  ttv_stack ttv_result. ((((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_singleBinder (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0749 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0752 : type  ttv_stack ttv_result. ((((((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, ttv_result) _menhir_cell1_singleBinder _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_AND as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_singleBinder (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0753 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0891 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_WITH as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_singleBinder (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0892 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0761 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, ttv_result) _menhir_cell1_tmTuple _menhir_cell0_RETURNS, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0762 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0840 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_FORALL as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0841 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0861 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_FORALL as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0862 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0305 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0867 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_EXISTS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0868 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_COLON_PATTERN ->
              _menhir_run_0246 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1041 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1042 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1046 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1047 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1051 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1052 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1056 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1057 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1061 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1062 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1066 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1067 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1071 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1072 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1076 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1077 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1080 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_lident as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1081 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1228 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let x = _v in
      let _v = _menhir_action_681 x in
      _menhir_goto_typars _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_typars : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1089 ->
          _menhir_run_1090 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1470 ->
          _menhir_run_1471 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1090 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ident as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_typars (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1091 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EQUALS | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v = _menhir_action_349 () in
          _menhir_goto_option_ascribeKind_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0484 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0484 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0039 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0050 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX4 _v ->
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3R _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX3L _v ->
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX2 _v ->
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX1 _v ->
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0d _v ->
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0c _v ->
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0b _v ->
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | OPINFIX0a _v ->
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0485 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0488 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IMPLIES ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IFF ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0538 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0553 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EQUALS ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | COLON_COLON ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | AND_OP _v ->
          _menhir_run_0555 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0485 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | UINT8 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | UINT64 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | UINT32 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | UINT16 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | TILDE _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | STRING _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | SIZET _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, (), _endpos_1, _startpos_0) in
          let _v = _menhir_action_102 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | REAL _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | QUOTE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | OPPREFIX _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | NAME _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | INT8 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | INT64 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | INT32 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | INT16 _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | INT _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | IDENT _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | FUN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | FORALL_OP _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | FORALL ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | EXISTS_OP _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | EXISTS ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | CHAR _v ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0485 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | BACKTICK_HASH ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | BACKTICK_AT ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0485 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0488 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0488 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0488 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0488 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0488 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0488 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0488 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | RPAREN ->
          let _startpos_6 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_7 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _v, _endpos_7, _startpos_6) in
          let _v = _menhir_action_104 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | REAL _v_8 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0488 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | NAME _v_9 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0488 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | INT8 _v_10 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0488 _menhir_initp
      | INT64 _v_11 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0488 _menhir_initp
      | INT32 _v_12 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0488 _menhir_initp
      | INT16 _v_13 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0488 _menhir_initp
      | INT _v_14 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0488 _menhir_initp
      | IDENT _v_15 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0488 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | CHAR _v_16 ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0488 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0488 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0538 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0538 _menhir_initp
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _v, _endpos_1, _startpos_0) in
          let _v = _menhir_action_106 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0538 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0538 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0538 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0538 _menhir_initp
      | IDENT _v_2 ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0538 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0538 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0538 _menhir_initp
      | DOT ->
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _v_3 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_3 MenhirState0538 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0553 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _v, _endpos_1, _startpos_0) in
          let _v = _menhir_action_105 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | IDENT _v_2 ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0553 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0553 _menhir_initp
      | DOT ->
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _v_3 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_3 MenhirState0553 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0270 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_134 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0271 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_133 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0272 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_136 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0273 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_o_, _startpos_o_, o) = (_endpos, _startpos, ()) in
      let _v = _menhir_action_137 _endpos_o_ _startpos_o_ o in
      _menhir_goto_binop_name _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_o_ _startpos_o_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0555 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _v, _endpos_1, _startpos_0) in
          let _v = _menhir_action_103 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0582 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0582 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option_ascribeKind_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_typars -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let _menhir_stack = MenhirCell0_option_ascribeKind_ (_menhir_stack, _v) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1095 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1095 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1095 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1095 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | TILDE _v_4 ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1095 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1095 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1095 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1095 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState1095 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1095 _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | LBRACE ->
              let _menhir_s = MenhirState1095 in
              let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_s = MenhirState1096 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_1097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | INT8 _v_30 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState1095 _menhir_initp
          | INT64 _v_31 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState1095 _menhir_initp
          | INT32 _v_32 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1095 _menhir_initp
          | INT16 _v_33 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1095 _menhir_initp
          | INT _v_34 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1095 _menhir_initp
          | IDENT _v_35 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1095 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | FORALL_OP _v_36 ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1095 _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | EXISTS_OP _v_37 ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1095 _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | CHAR _v_38 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState1095 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | BAR ->
              _menhir_run_1201 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1095 _menhir_initp
          | AND | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
              let _v_39 = _menhir_action_231 () in
              _menhir_run_1219 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_39 _tok _menhir_initp
          | _ ->
              _eRR ())
      | AND | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v = _menhir_action_683 () in
          _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1097 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | UINT8 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | UINT64 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | UINT32 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | UINT16 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | TRY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | TILDE _v ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | UINT8 _v_2 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1098 _menhir_initp
          | UINT64 _v_3 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1098 _menhir_initp
          | UINT32 _v_4 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1098 _menhir_initp
          | UINT16 _v_5 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1098 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | STRING _v_6 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1098 _menhir_initp
          | SIZET _v_7 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1098 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | RPAREN ->
              let _startpos_8 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_9 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_1, _startpos_0, _v) in
                  let _v = _menhir_action_061 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_1, _startpos_0, _v, _endpos_9, _startpos_8) in
                  let _v = _menhir_action_101 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_1, _startpos_0, _v, _endpos_9) in
                  let _v = _menhir_action_401 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | REAL _v_10 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState1098 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | OPPREFIX _v_11 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState1098 _menhir_initp
          | NAME _v_12 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState1098 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | INT8 _v_13 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1098 _menhir_initp
          | INT64 _v_14 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1098 _menhir_initp
          | INT32 _v_15 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1098 _menhir_initp
          | INT16 _v_16 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1098 _menhir_initp
          | INT _v_17 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1098 _menhir_initp
          | IDENT _v_18 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1098 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | CHAR _v_19 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1098 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1097, _v, _startpos_0, _endpos_1) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1098 _menhir_initp
          | _ ->
              _eRR ())
      | SYNTH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | STRING _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | SIZET _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | REQUIRES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | REAL _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | QUOTE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | OP_MIXFIX_ASSIGNMENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPPREFIX _v ->
          let _startpos_20 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_21 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | UINT8 _v_22 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState1100 _menhir_initp
          | UINT64 _v_23 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState1100 _menhir_initp
          | UINT32 _v_24 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState1100 _menhir_initp
          | UINT16 _v_25 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState1100 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | STRING _v_26 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState1100 _menhir_initp
          | SIZET _v_27 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState1100 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | RPAREN ->
              let _startpos_28 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_29 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_21, _startpos_20, _v) in
                  let _v = _menhir_action_059 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_21, _startpos_20, _v, _endpos_29, _startpos_28) in
                  let _v = _menhir_action_099 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_21, _startpos_20, _v, _endpos_29) in
                  let _v = _menhir_action_399 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | REAL _v_30 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState1100 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | OPPREFIX _v_31 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0035 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState1100 _menhir_initp
          | NAME _v_32 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1100 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | INT8 _v_33 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1100 _menhir_initp
          | INT64 _v_34 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1100 _menhir_initp
          | INT32 _v_35 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1100 _menhir_initp
          | INT16 _v_36 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1100 _menhir_initp
          | INT _v_37 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1100 _menhir_initp
          | IDENT _v_38 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_38 MenhirState1100 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | CHAR _v_39 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_39 MenhirState1100 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1097, _v, _startpos_20, _endpos_21) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1100 _menhir_initp
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPINFIX3R _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPINFIX3L _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPINFIX2 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPINFIX1 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPINFIX0d _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPINFIX0c _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPINFIX0b _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | OPINFIX0a _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | NAME _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | MINUS ->
          let _startpos_40 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_41 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | UINT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | UINT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | UINT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | UINT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | TILDE _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | STRING _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | SIZET _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | SEQ_BANG_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | RPAREN ->
              let _startpos_42 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_43 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_41, _startpos_40, ()) in
                  let _v = _menhir_action_062 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_41, _startpos_40, (), _endpos_43, _startpos_42) in
                  let _v = _menhir_action_102 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_41, _startpos_40, (), _endpos_43) in
                  let _v = _menhir_action_402 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | REAL _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | QUOTE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | PERCENT_LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | OPPREFIX _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | NAME _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | INT8 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | INT64 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | INT32 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | INT16 _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | INT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | IDENT _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | FUN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | FORALL_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | FORALL ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | EXISTS_OP _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | EXISTS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | CHAR _v ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1102 _menhir_initp
          | BEGIN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | BANG_LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | BACKTICK_HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | BACKTICK_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | BACKTICK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1097, _startpos_40, _endpos_41) in
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1102 _menhir_initp
          | _ ->
              _eRR ())
      | MATCH_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | MATCH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LET_OP _v ->
          let _startpos_44 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_45 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | UINT8 _v_46 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_46 MenhirState1104 _menhir_initp
          | UINT64 _v_47 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_47 MenhirState1104 _menhir_initp
          | UINT32 _v_48 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_48 MenhirState1104 _menhir_initp
          | UINT16 _v_49 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_49 MenhirState1104 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | STRING _v_50 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_50 MenhirState1104 _menhir_initp
          | SIZET _v_51 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState1104 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | RPAREN ->
              let _startpos_52 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_53 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_45, _startpos_44, _v) in
                  let _v = _menhir_action_064 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_45, _startpos_44, _v, _endpos_53, _startpos_52) in
                  let _v = _menhir_action_104 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_45, _startpos_44, _v, _endpos_53) in
                  let _v = _menhir_action_404 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | REIFY ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | REAL _v_54 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_54 MenhirState1104 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | NAME _v_55 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_55 MenhirState1104 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | INT8 _v_56 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_56 MenhirState1104 _menhir_initp
          | INT64 _v_57 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_57 MenhirState1104 _menhir_initp
          | INT32 _v_58 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState1104 _menhir_initp
          | INT16 _v_59 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_59 MenhirState1104 _menhir_initp
          | INT _v_60 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_60 MenhirState1104 _menhir_initp
          | IDENT _v_61 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_61 MenhirState1104 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | DOT_DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | CHAR _v_62 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_62 MenhirState1104 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1097, _v, _startpos_44, _endpos_45) in
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1104 _menhir_initp
          | _ ->
              _eRR ())
      | LET ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LBRACK_AT_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LBRACK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | INTRO ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | INT8 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | INT64 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | INT32 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | INT16 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | INT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | IMPLIES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | IF_OP _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | IF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | IDENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | FUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | FUN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | FORALL_OP _v ->
          let _startpos_63 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_64 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1106 _menhir_initp
          | RPAREN ->
              let _startpos_65 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_66 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_64, _startpos_63, _v) in
                  let _v = _menhir_action_066 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_64, _startpos_63, _v, _endpos_66, _startpos_65) in
                  let _v = _menhir_action_106 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_64, _startpos_63, _v, _endpos_66) in
                  let _v = _menhir_action_406 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1106 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1106 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1106 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1106 _menhir_initp
          | IDENT _v_67 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_67 MenhirState1106 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1106 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1106 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1097, _v, _startpos_63, _endpos_64) in
              let _v_68 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_64 _endpos_64 _v_68 MenhirState1106 _tok _menhir_initp
          | _ ->
              _eRR ())
      | FORALL ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | EXISTS_OP _v ->
          let _startpos_69 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_70 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1108 _menhir_initp
          | RPAREN ->
              let _startpos_71 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_72 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_70, _startpos_69, _v) in
                  let _v = _menhir_action_065 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_70, _startpos_69, _v, _endpos_72, _startpos_71) in
                  let _v = _menhir_action_105 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_70, _startpos_69, _v, _endpos_72) in
                  let _v = _menhir_action_405 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1108 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1108 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1108 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1108 _menhir_initp
          | IDENT _v_73 ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState1108 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1108 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1108 _menhir_initp
          | DOT ->
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1097, _v, _startpos_69, _endpos_70) in
              let _v_74 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_70 _endpos_70 _v_74 MenhirState1108 _tok _menhir_initp
          | _ ->
              _eRR ())
      | EXISTS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | ENSURES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | ELIM ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | DECREASES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | CHAR _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1097 _menhir_initp
      | CALC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | BACKTICK_HASH ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | BACKTICK_AT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | ATTRIBUTES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | ASSUME ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | ASSERT ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1097 _menhir_initp
      | AND_OP _v ->
          let _startpos_75 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_76 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_77 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_78 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | COLON ->
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_76, _startpos_75, _v) in
                  let _v = _menhir_action_063 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
                  let (_endpos__1_, _startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_, _startpos__3_) = (_endpos, _startpos, _endpos_76, _startpos_75, _v, _endpos_78, _startpos_77) in
                  let _v = _menhir_action_103 _endpos__1_ _endpos__3_ _endpos_op_ _startpos__1_ _startpos__3_ _startpos_op_ op in
                  _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | EQUALS | RBRACE | SEMICOLON ->
                  let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_76, _startpos_75, _v, _endpos_78) in
                  let _v = _menhir_action_403 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrOperator_ (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1160 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1201 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BAR (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState1201 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1219 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let (_endpos_ct_decls_, ct_decls) = (_endpos, _v) in
      let _v = _menhir_action_687 ct_decls in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ct_decls_ _v _tok _menhir_initp
  
  and _menhir_goto_typeDefinition : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_option_ascribeKind_ (_menhir_stack, ascr_opt) = _menhir_stack in
      let MenhirCell1_typars (_menhir_stack, _, tparams) = _menhir_stack in
      let MenhirCell1_ident (_menhir_stack, _menhir_s, lid, _, _) = _menhir_stack in
      let (_endpos_tcdef_, tcdef) = (_endpos, _v) in
      let _v = _menhir_action_682 ascr_opt lid tcdef tparams in
      _menhir_goto_typeDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tcdef_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_typeDecl : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1084 ->
          _menhir_run_1085 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1086 ->
          _menhir_run_1085 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1475 ->
          _menhir_run_1476 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1085 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | AND ->
          let _menhir_stack = MenhirCell1_typeDecl (_menhir_stack, _menhir_s, _v, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_AND (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1086 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let (_endpos_x_, x) = (_endpos, _v) in
          let _v = _menhir_action_523 x in
          _menhir_goto_separated_nonempty_list_AND_typeDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_AND_typeDecl_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1086 ->
          _menhir_run_1087 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1084 ->
          _menhir_run_1229 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1087 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_typeDecl _menhir_cell0_AND -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_AND (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_typeDecl (_menhir_stack, _menhir_s, x, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_524 x xs in
      _menhir_goto_separated_nonempty_list_AND_typeDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1229 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_TYPE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_TYPE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_tcdefs_, tcdefs) = (_endpos, _v) in
      let _v = _menhir_action_432 tcdefs in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tcdefs_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_goto_rawDecl : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_list_decoration_ (_menhir_stack, _menhir_s, ds) = _menhir_stack in
      let (_endpos_decl_, _startpos_decl_, decl) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_178 _endpos_decl_ _startpos_decl_ decl ds in
      _menhir_goto_decl _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1476 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_CLASS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_CLASS (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_tcdef_, tcdef) = (_endpos, _v) in
      let _v = _menhir_action_690 tcdef in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tcdef_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_goto_typeclassDecl : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_list_decoration_ (_menhir_stack, _menhir_s, ds) = _menhir_stack in
      let (_endpos_decl_, _startpos_decl_, decl) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_179 _endpos_decl_ _startpos_decl_ decl ds in
      _menhir_goto_decl _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1471 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, ttv_result) _menhir_cell1_uident as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_typars (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1472 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1367 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_uident as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1368 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1374 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_lident as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1375 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1409 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1410 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1414 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1415 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1419 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1420 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1424 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1425 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1429 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1430 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1434 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1435 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1439 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1440 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1444 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1445 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1448 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_lident as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1449 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1466 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_uident as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binders (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1467 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0963 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BANG_LBRACE -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_BANG_LBRACE (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos__3_, _startpos__3_, es) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_394 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ es in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_projectionLHS : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_projectionLHS (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0133 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BACKTICK_PERC | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | DOLLAR | DOT_DOT | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WHEN | WITH ->
          let _v_0 = _menhir_action_223 () in
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0134 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_DOT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0134 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0138 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_projectionLHS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_projectionLHS (_menhir_stack, _menhir_s, e, _startpos_e_, _endpos_e_) = _menhir_stack in
      let (_endpos_field_projs_, _startpos_field_projs_, field_projs) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_108 _endpos_e_ _endpos_field_projs_ _startpos_e_ _startpos_field_projs_ e field_projs in
      _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_field_projs_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0471 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0471 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0471 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0471 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0471 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0471 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0471 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0471 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0471 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0471 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0471 _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0471 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0471 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0471 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0471 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0471 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0471 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0471 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0471 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0594 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0594 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0594 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0594 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0594 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0594 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0594 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0594 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0594 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0594 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0594 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0594 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0594 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0594 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0594 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0594 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0594 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0594 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0594 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0594 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0594 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0604 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0604 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0604 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0604 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0604 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0604 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0604 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0604 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0604 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0604 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0604 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0604 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0604 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0604 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0604 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0604 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0604 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0604 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0604 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0604 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0604 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0956 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | COLON | COLON_COLON | COMMA | RPAREN ->
              let (_endpos_x_, x, _startpos_aq_, aq) = (_endpos, (), _startpos, _v) in
              let _v = _menhir_action_024 aq x in
              _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
          | DOLLAR | HASH | IDENT _ | LBRACK_AT_AT_AT | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _v_1 =
                let (_endpos__1_, _startpos__1_) = (_endpos, _startpos_0) in
                _menhir_action_220 _endpos__1_ _startpos__1_
              in
              _menhir_run_0236 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_1 _tok _menhir_initp
          | _ ->
              _eRR ())
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0956 _menhir_initp
      | IDENT _v_2 ->
          let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0931 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0956 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0236 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_aqual -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _startpos_aq_) = _menhir_stack in
      let (_endpos_x_, x) = (_endpos, _v) in
      let _v = _menhir_action_068 aq x in
      _menhir_goto_aqualifiedWithAttrs_lidentOrUnderscore_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0994 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0994 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0994 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0994 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0994 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0994 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0994 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0994 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0994 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0994 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0994 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0994 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0994 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0994 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0994 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0994 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0994 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0994 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0994 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0994 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0994 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1162 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | LPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | TILDE _v_1 ->
              let _startpos_2 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_3 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, aq) = (_endpos_3, _startpos_2, _v_1, _v) in
                  let _v = _menhir_action_043 _endpos_op_ _startpos_op_ aq op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OP_MIXFIX_ASSIGNMENT _v_6 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1163 _menhir_initp
          | OP_MIXFIX_ACCESS _v_7 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1163 _menhir_initp
          | OPPREFIX _v_8 ->
              let _startpos_9 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_10 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, aq) = (_endpos_10, _startpos_9, _v_8, _v) in
                  let _v = _menhir_action_041 _endpos_op_ _startpos_op_ aq op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OPINFIX4 _v_13 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1163 _menhir_initp
          | OPINFIX3R _v_14 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1163 _menhir_initp
          | OPINFIX3L _v_15 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1163 _menhir_initp
          | OPINFIX2 _v_16 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1163 _menhir_initp
          | OPINFIX1 _v_17 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1163 _menhir_initp
          | OPINFIX0d _v_18 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1163 _menhir_initp
          | OPINFIX0c _v_19 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1163 _menhir_initp
          | OPINFIX0b _v_20 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1163 _menhir_initp
          | OPINFIX0a _v_21 ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState1163 _menhir_initp
          | MINUS ->
              let _startpos_22 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_23 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, aq) = (_endpos_23, _startpos_22, (), _v) in
                  let _v = _menhir_action_044 _endpos_op_ _startpos_op_ aq op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | LET_OP _v_26 ->
              let _startpos_27 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_28 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, aq) = (_endpos_28, _startpos_27, _v_26, _v) in
                  let _v = _menhir_action_046 _endpos_op_ _startpos_op_ aq op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1163 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1163 _menhir_initp
          | FORALL_OP _v_31 ->
              let _startpos_32 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_33 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, aq) = (_endpos_33, _startpos_32, _v_31, _v) in
                  let _v = _menhir_action_048 _endpos_op_ _startpos_op_ aq op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EXISTS_OP _v_36 ->
              let _startpos_37 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_38 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, aq) = (_endpos_38, _startpos_37, _v_36, _v) in
                  let _v = _menhir_action_047 _endpos_op_ _startpos_op_ aq op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1163 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1163 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1163 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1163 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1162, _startpos_0, _endpos) in
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1163 _menhir_initp
          | AND_OP _v_41 ->
              let _startpos_42 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_43 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, aq) = (_endpos_43, _startpos_42, _v_41, _v) in
                  let _v = _menhir_action_045 _endpos_op_ _startpos_op_ aq op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1162 _menhir_initp
      | IDENT _v_46 ->
          let _menhir_stack = MenhirCell1_aqual (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_46 MenhirState1162 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0936 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos_op_, _startpos_op_, op, _endpos__3_) = (_endpos, _startpos, _v, _endpos_1) in
          let _v = _menhir_action_083 _endpos__3_ _endpos_op_ _startpos__1_ _startpos_op_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0221 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_pat_, _startpos_pat_, pat) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_172 pat in
      _menhir_goto_constructorPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pat_ _startpos_pat_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_constructorPattern : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0063 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0223 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0983 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0218 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_constructorPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0219 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOT_DOT ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_constructorPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0222 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AND_OP _ | BAR | COLON | EQUALS | IN | LENS_PAREN_RIGHT | RARROW | RBRACE | RBRACK | RPAREN | SEMICOLON | SQUIGGLY_RARROW | WHEN ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_527 x in
          _menhir_goto_separated_nonempty_list_COMMA_constructorPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0222 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_constructorPattern -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_COLON_COLON (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0222 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_COMMA_constructorPattern_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0063 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0198 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0220 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0985 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0198 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_pats_, _startpos_pats_, pats) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_679 _endpos_pats_ _startpos_pats_ pats in
      _menhir_goto_tuplePattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pats_ _startpos_pats_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tuplePattern : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0189 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0196 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0490 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0490 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0490 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0490 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0490 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0663 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0676 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0922 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0926 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0926 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0938 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0196 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR ->
          let _menhir_stack = MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_BAR (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState0197 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOT_DOT ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RARROW | SQUIGGLY_RARROW | WHEN ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_525 x in
          _menhir_goto_separated_nonempty_list_BAR_tuplePattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_BAR_tuplePattern_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0197 ->
          _menhir_run_0199 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0224 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0199 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tuplePattern _menhir_cell0_BAR -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_BAR (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_526 x xs in
      _menhir_goto_separated_nonempty_list_BAR_tuplePattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0224 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_pats_, _startpos_pats_, pats) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_183 pats in
      let (_endpos, _startpos) = (_endpos_pats_, _startpos_pats_) in
      let _menhir_stack = MenhirCell1_disjunctivePattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WHEN ->
          let _menhir_stack = MenhirCell1_WHEN (_menhir_stack, MenhirState0226) in
          let _menhir_s = MenhirState0227 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | SQUIGGLY_RARROW ->
          _menhir_run_0807 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0226 _menhir_initp
      | RARROW ->
          _menhir_run_0808 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0226 _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0807 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _endpos__1_ = _endpos in
      let _v = _menhir_action_248 () in
      _menhir_goto_maybeFocusArrow _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_maybeFocusArrow : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0806 ->
          _menhir_run_0809 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0226 ->
          _menhir_run_0811 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0809 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_disjunctivePattern, ttv_result) _menhir_cell1_WHEN, ttv_result) _menhir_cell1_tmFormula as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_maybeFocusArrow (_menhir_stack, _menhir_s, _v, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0809 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0809 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0809 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0809 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0809 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0809 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0809 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0809 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0809 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0809 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0809 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0809 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0809 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0809 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0809 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0809 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0809 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0809 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0809 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0809 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0809 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0809 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0809 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0811 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_disjunctivePattern as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_maybeFocusArrow (_menhir_stack, _menhir_s, _v, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0811 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0811 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0811 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0811 _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0811 _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0811 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0811 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0811 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0811 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0811 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | MATCH_OP _v_10 ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0811 _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LET_OP _v_11 ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0811 _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | INT8 _v_12 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0811 _menhir_initp
      | INT64 _v_13 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0811 _menhir_initp
      | INT32 _v_14 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0811 _menhir_initp
      | INT16 _v_15 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0811 _menhir_initp
      | INT _v_16 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0811 _menhir_initp
      | IF_OP _v_17 ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0811 _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | IDENT _v_18 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0811 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | FORALL_OP _v_19 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0811 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | EXISTS_OP _v_20 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0811 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | CHAR _v_21 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0811 _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0811 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0808 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _endpos__1_ = _endpos in
      let _v = _menhir_action_247 () in
      _menhir_goto_maybeFocusArrow _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0490 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0490 _menhir_initp
      | AND_OP _ | EQUALS | IN ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0491 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0490 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0483 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_COLON (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0483 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0491 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tuplePattern as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0492 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND_OP _ | IN ->
          let _v = _menhir_action_341 () in
          _menhir_goto_option___anonymous_4_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_4_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tuplePattern, ttv_result) _menhir_cell1_option_ascribeTyp_ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _startpos_ascr_opt_, _endpos_ascr_opt_) = _menhir_stack in
      let MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, pat, _startpos_pat_, _endpos_pat_) = _menhir_stack in
      let tm = _v in
      let _v = _menhir_action_215 _endpos_ascr_opt_ _endpos_pat_ _startpos_ascr_opt_ _startpos_pat_ ascr_opt pat tm in
      _menhir_goto_letoperatorbinding _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_letoperatorbinding : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0063 ->
          _menhir_run_0531 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0531 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0531 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0531 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0533 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0531 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LET_OP as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_letoperatorbinding (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | AND_OP _v_0 ->
          _menhir_run_0532 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0531 _menhir_initp
      | IN ->
          let _v_1 = _menhir_action_221 () in
          _menhir_run_0535 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0531 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0532 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_letoperatorbinding as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0532 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0535 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET_OP, ttv_result) _menhir_cell1_letoperatorbinding as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_list___anonymous_11_ (_menhir_stack, _menhir_s, _v) in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_IN (_menhir_stack, _endpos) in
      let _menhir_s = MenhirState0536 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0533 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_letoperatorbinding, ttv_result) _menhir_cell1_AND_OP as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_letoperatorbinding (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | AND_OP _v_0 ->
          _menhir_run_0532 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0533 _menhir_initp
      | IN ->
          let _v_1 = _menhir_action_221 () in
          _menhir_run_0534 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0534 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_letoperatorbinding, ttv_result) _menhir_cell1_AND_OP, ttv_result) _menhir_cell1_letoperatorbinding -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_letoperatorbinding (_menhir_stack, _, b) = _menhir_stack in
      let MenhirCell1_AND_OP (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_222 _endpos_op_ _startpos_op_ b op xs in
      _menhir_goto_list___anonymous_11_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_list___anonymous_11_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_letoperatorbinding as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0533 ->
          _menhir_run_0534 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0531 ->
          _menhir_run_0535 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0663 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          _menhir_run_0664 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0665 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0664 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_tuplePattern -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_tuplePattern (_menhir_stack, _, pat, _, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let _endpos__3_ = _endpos in
      let _v = _menhir_action_074 pat in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0676 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_maybeFocus as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _menhir_s = MenhirState0676 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_EQUALS (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0677 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0676 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0922 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_qlident _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_qlident (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let y = _v in
      let _v = _menhir_action_187 x y in
      _menhir_goto_fieldPattern _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_fieldPattern : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_fieldPattern (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0924 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0924 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_495 () in
              _menhir_run_0925 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_496 x in
          _menhir_goto_right_flexible_list_SEMICOLON_fieldPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0925 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_fieldPattern _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_fieldPattern (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_497 x xs in
      _menhir_goto_right_flexible_list_SEMICOLON_fieldPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_SEMICOLON_fieldPattern_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0097 ->
          _menhir_run_0102 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0924 ->
          _menhir_run_0925 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0926 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0927 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0927 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0927 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0927 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0927 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0927 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0927 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | NAME _v_8 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0927 _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LBRACK ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | LBRACE ->
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | INT8 _v_9 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0927 _menhir_initp
          | INT64 _v_10 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0927 _menhir_initp
          | INT32 _v_11 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0927 _menhir_initp
          | INT16 _v_12 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0927 _menhir_initp
          | INT _v_13 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0927 _menhir_initp
          | IDENT _v_14 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0927 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | DOT_DOT ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | CHAR _v_15 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0927 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0927 _menhir_initp
          | RBRACK ->
              let _v_16 = _menhir_action_510 () in
              _menhir_run_0928 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_511 x in
          _menhir_goto_right_flexible_list_SEMICOLON_tuplePattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0928 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tuplePattern _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_512 x xs in
      _menhir_goto_right_flexible_list_SEMICOLON_tuplePattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_SEMICOLON_tuplePattern_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0927 ->
          _menhir_run_0928 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0929 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0929 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACK -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACK (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos__3_, _startpos__3_, pats) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_076 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ pats in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0938 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tuplePattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          _menhir_run_0664 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0939 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0220 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_constructorPattern _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_constructorPattern (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_528 x xs in
      _menhir_goto_separated_nonempty_list_COMMA_constructorPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0985 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LENS_PAREN_LEFT, ttv_result) _menhir_cell1_constructorPattern _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | LENS_PAREN_RIGHT ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
          let MenhirCell1_constructorPattern (_menhir_stack, _, pat0, _, _) = _menhir_stack in
          let MenhirCell1_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (pats, _endpos__5_) = (_v, _endpos_1) in
          let _v = _menhir_action_078 _endpos__5_ _startpos__1_ pat0 pats in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__5_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0223 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_constructorPattern _menhir_cell0_COLON_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_constructorPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0222 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AND_OP _ | BAR | COLON | COMMA | EQUALS | IN | LENS_PAREN_RIGHT | RARROW | RBRACE | RBRACK | RPAREN | SEMICOLON | SQUIGGLY_RARROW | WHEN ->
          let MenhirCell0_COLON_COLON (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_constructorPattern (_menhir_stack, _menhir_s, pat, _startpos_pat_, _) = _menhir_stack in
          let (_endpos_pats_, _startpos_pats_, pats) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_170 _endpos_pats_ _startpos_pat_ _startpos_pats_ pat pats in
          _menhir_goto_constructorPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pats_ _startpos_pat_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0983 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LENS_PAREN_LEFT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_constructorPattern (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0984 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOT_DOT ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON_COLON ->
          _menhir_run_0222 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0973 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LET as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_localletqualifier (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0973 _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _menhir_s = MenhirState0973 in
          let _v = _menhir_action_140 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1005 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACK -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACK (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos__3_, _startpos__3_, l) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_391 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0978 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACK_AT_AT_AT -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACK_AT_AT_AT (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let l = _v in
      let _v = _menhir_action_120 l in
      _menhir_goto_binderAttributes _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_binderAttributes : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0063 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0205 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0212 ->
          _menhir_run_0215 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0126 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0228 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0229 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0243 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0302 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0760 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0890 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0905 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0949 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1040 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1045 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1050 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1065 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1089 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1106 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1108 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1373 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1408 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1413 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1433 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1447 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1465 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1470 ->
          _menhir_run_0232 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0235 ->
          _menhir_run_0237 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0361 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0371 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0469 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0473 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0565 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0590 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0598 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0609 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0947 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0956 ->
          _menhir_run_0958 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0989 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0999 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_1140 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1117 ->
          _menhir_run_1140 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1137 ->
          _menhir_run_1140 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1205 ->
          _menhir_run_1140 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_1140 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1162 ->
          _menhir_run_1181 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1201 ->
          _menhir_run_1215 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_1222 _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0205 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let (_endpos_x_, x, _startpos_attrs_, attrs) = (_endpos, (), _startpos, _v) in
          let _v = _menhir_action_025 attrs x in
          _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_attrs_ _v _menhir_s _tok _menhir_initp
      | IDENT _v_1 ->
          let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0205 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0215 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _startpos_aq_) = _menhir_stack in
          let (_endpos_x_, x, attrs) = (_endpos, (), _v) in
          let _v = _menhir_action_023 aq attrs x in
          _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
      | IDENT _v_1 ->
          let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0215 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0232 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0232 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0232 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0237 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0237 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0237 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0361 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0361 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0361 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0361 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0361 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0361 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0361 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0361 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0361 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0361 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0361 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0361 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0361 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0361 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0361 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0361 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0361 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0361 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0361 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0361 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0361 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0371 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0371 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0371 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0371 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0371 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0371 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0371 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0371 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0371 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0371 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0371 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0371 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0371 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0371 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0371 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0371 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0371 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0371 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0371 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0371 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0371 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0469 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0469 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0469 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0469 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0469 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0469 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0469 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0469 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0469 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0469 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0469 _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0469 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0469 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0469 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0469 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0469 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0469 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0469 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0469 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0473 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0473 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0473 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0473 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0473 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0473 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0473 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0473 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0473 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0473 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0473 _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0473 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0473 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0473 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0473 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0473 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0473 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | CHAR _v_16 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0473 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0473 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0565 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0565 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0565 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0565 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0565 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0565 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0565 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0565 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0565 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0565 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0565 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0565 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0565 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0565 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0565 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0565 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0565 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0565 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0565 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0565 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0565 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0590 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0590 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0590 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0590 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0590 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0590 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0590 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0590 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0590 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0590 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0590 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0590 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0590 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0590 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0590 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0590 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0590 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0590 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0590 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0590 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0590 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0598 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0598 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0598 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0598 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0598 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0598 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0598 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0598 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0598 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0598 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0598 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0598 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0598 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0598 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0598 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0598 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0598 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0598 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0598 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0598 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0598 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0609 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0609 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0609 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0609 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0609 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0609 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0609 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0609 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0609 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0609 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0609 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0609 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0609 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0609 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0609 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0609 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0609 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0609 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0609 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0609 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0609 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0947 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | COLON | COLON_COLON | COMMA | RPAREN ->
              let (_endpos_x_, x, _startpos_attrs_, attrs) = (_endpos, (), _startpos, _v) in
              let _v = _menhir_action_025 attrs x in
              _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_attrs_ _v _menhir_s _tok _menhir_initp
          | DOLLAR | HASH | IDENT _ | LBRACK_AT_AT_AT | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _v_1 =
                let (_endpos__1_, _startpos__1_) = (_endpos, _startpos_0) in
                _menhir_action_220 _endpos__1_ _startpos__1_
              in
              _menhir_run_0233 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_1 _tok _menhir_initp
          | _ ->
              _eRR ())
      | IDENT _v_2 ->
          let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0931 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0947 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0233 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, attrs, _startpos_attrs_) = _menhir_stack in
      let (_endpos_x_, x) = (_endpos, _v) in
      let _v = _menhir_action_069 attrs x in
      _menhir_goto_aqualifiedWithAttrs_lidentOrUnderscore_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_attrs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0958 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | COLON | COLON_COLON | COMMA | RPAREN ->
              let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _startpos_aq_) = _menhir_stack in
              let (_endpos_x_, x, attrs) = (_endpos, (), _v) in
              let _v = _menhir_action_023 aq attrs x in
              _menhir_goto_aqualifiedWithAttrs_UNDERSCORE_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
          | DOLLAR | HASH | IDENT _ | LBRACK_AT_AT_AT | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _v_1 =
                let (_endpos__1_, _startpos__1_) = (_endpos, _startpos_0) in
                _menhir_action_220 _endpos__1_ _startpos__1_
              in
              _menhir_run_0238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_1 _tok _menhir_initp
          | _ ->
              _eRR ())
      | IDENT _v_2 ->
          let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0931 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0958 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0238 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _, attrs, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _startpos_aq_) = _menhir_stack in
      let (_endpos_x_, x) = (_endpos, _v) in
      let _v = _menhir_action_067 aq attrs x in
      _menhir_goto_aqualifiedWithAttrs_lidentOrUnderscore_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0989 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0989 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0989 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0989 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0989 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0989 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0989 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0989 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0989 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0989 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0989 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0989 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0989 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0989 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0989 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0989 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0989 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0989 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0989 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0989 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0989 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0999 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0999 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0999 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0999 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0999 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0999 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0999 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0999 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0999 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0999 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0999 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | INT8 _v_10 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0999 _menhir_initp
      | INT64 _v_11 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0999 _menhir_initp
      | INT32 _v_12 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0999 _menhir_initp
      | INT16 _v_13 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0999 _menhir_initp
      | INT _v_14 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0999 _menhir_initp
      | IDENT _v_15 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0999 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | FORALL_OP _v_16 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0999 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | EXISTS_OP _v_17 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0999 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | CHAR _v_18 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0999 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0999 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1140 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | LPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | TILDE _v_1 ->
              let _startpos_2 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_3 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_3, _startpos_2, _v_1, _v) in
                  let _v = _menhir_action_052 _endpos_op_ _startpos_op_ attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OP_MIXFIX_ASSIGNMENT _v_6 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1141 _menhir_initp
          | OP_MIXFIX_ACCESS _v_7 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1141 _menhir_initp
          | OPPREFIX _v_8 ->
              let _startpos_9 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_10 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_10, _startpos_9, _v_8, _v) in
                  let _v = _menhir_action_050 _endpos_op_ _startpos_op_ attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OPINFIX4 _v_13 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1141 _menhir_initp
          | OPINFIX3R _v_14 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1141 _menhir_initp
          | OPINFIX3L _v_15 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1141 _menhir_initp
          | OPINFIX2 _v_16 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1141 _menhir_initp
          | OPINFIX1 _v_17 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1141 _menhir_initp
          | OPINFIX0d _v_18 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1141 _menhir_initp
          | OPINFIX0c _v_19 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1141 _menhir_initp
          | OPINFIX0b _v_20 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1141 _menhir_initp
          | OPINFIX0a _v_21 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState1141 _menhir_initp
          | MINUS ->
              let _startpos_22 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_23 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_23, _startpos_22, (), _v) in
                  let _v = _menhir_action_053 _endpos_op_ _startpos_op_ attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | LET_OP _v_26 ->
              let _startpos_27 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_28 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_28, _startpos_27, _v_26, _v) in
                  let _v = _menhir_action_055 _endpos_op_ _startpos_op_ attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1141 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1141 _menhir_initp
          | FORALL_OP _v_31 ->
              let _startpos_32 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_33 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_33, _startpos_32, _v_31, _v) in
                  let _v = _menhir_action_057 _endpos_op_ _startpos_op_ attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EXISTS_OP _v_36 ->
              let _startpos_37 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_38 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_38, _startpos_37, _v_36, _v) in
                  let _v = _menhir_action_056 _endpos_op_ _startpos_op_ attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1141 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1141 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1141 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1141 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1140, _startpos_0, _endpos) in
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1141 _menhir_initp
          | AND_OP _v_41 ->
              let _startpos_42 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_43 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_43, _startpos_42, _v_41, _v) in
                  let _v = _menhir_action_054 _endpos_op_ _startpos_op_ attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | IDENT _v_46 ->
          let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_46 MenhirState1140 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1181 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | LPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | TILDE _v_1 ->
              let _startpos_2 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_3 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_3, _startpos_2, _v_1, _v) in
                  let _v = _menhir_action_034 _endpos_op_ _startpos_op_ aq attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OP_MIXFIX_ASSIGNMENT _v_6 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1182 _menhir_initp
          | OP_MIXFIX_ACCESS _v_7 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1182 _menhir_initp
          | OPPREFIX _v_8 ->
              let _startpos_9 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_10 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_10, _startpos_9, _v_8, _v) in
                  let _v = _menhir_action_032 _endpos_op_ _startpos_op_ aq attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OPINFIX4 _v_13 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1182 _menhir_initp
          | OPINFIX3R _v_14 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState1182 _menhir_initp
          | OPINFIX3L _v_15 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1182 _menhir_initp
          | OPINFIX2 _v_16 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1182 _menhir_initp
          | OPINFIX1 _v_17 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState1182 _menhir_initp
          | OPINFIX0d _v_18 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1182 _menhir_initp
          | OPINFIX0c _v_19 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState1182 _menhir_initp
          | OPINFIX0b _v_20 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState1182 _menhir_initp
          | OPINFIX0a _v_21 ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState1182 _menhir_initp
          | MINUS ->
              let _startpos_22 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_23 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_23, _startpos_22, (), _v) in
                  let _v = _menhir_action_035 _endpos_op_ _startpos_op_ aq attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | LET_OP _v_26 ->
              let _startpos_27 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_28 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_28, _startpos_27, _v_26, _v) in
                  let _v = _menhir_action_037 _endpos_op_ _startpos_op_ aq attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1182 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1182 _menhir_initp
          | FORALL_OP _v_31 ->
              let _startpos_32 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_33 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_33, _startpos_32, _v_31, _v) in
                  let _v = _menhir_action_039 _endpos_op_ _startpos_op_ aq attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EXISTS_OP _v_36 ->
              let _startpos_37 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_38 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_38, _startpos_37, _v_36, _v) in
                  let _v = _menhir_action_038 _endpos_op_ _startpos_op_ aq attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1182 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1182 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1182 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1182 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1181, _startpos_0, _endpos) in
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1182 _menhir_initp
          | AND_OP _v_41 ->
              let _startpos_42 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_43 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
                  let (_endpos_op_, _startpos_op_, op, attrs) = (_endpos_43, _startpos_42, _v_41, _v) in
                  let _v = _menhir_action_036 _endpos_op_ _startpos_op_ aq attrs op in
                  _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | IDENT _v_46 ->
          let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_46 MenhirState1181 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1215 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_BAR as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | NAME _v_0 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1215 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1222 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1222 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1222 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1222 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1222 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | TILDE _v_4 ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1222 _menhir_initp
      | STRING _v_5 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1222 _menhir_initp
      | SIZET _v_6 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1222 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | REAL _v_7 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState1222 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | OPPREFIX _v_8 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState1222 _menhir_initp
      | NAME _v_9 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1222 _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | LBRACE ->
          let _menhir_s = MenhirState1222 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState1223 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_1097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | INT8 _v_29 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_29 MenhirState1222 _menhir_initp
      | INT64 _v_30 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState1222 _menhir_initp
      | INT32 _v_31 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState1222 _menhir_initp
      | INT16 _v_32 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1222 _menhir_initp
      | INT _v_33 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1222 _menhir_initp
      | IDENT _v_34 ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_34 MenhirState1222 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | FORALL_OP _v_35 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_35 MenhirState1222 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | EXISTS_OP _v_36 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_36 MenhirState1222 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | CHAR _v_37 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1222 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1222 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0230 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_multiBinder -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_multiBinder (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_238 x xs in
      _menhir_goto_list_multiBinder_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list_multiBinder_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0229 ->
          _menhir_run_0230 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0123 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0149 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0228 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0243 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0302 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0538 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0553 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0730 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0737 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0747 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0751 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0760 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0860 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0866 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0890 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0905 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0907 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1040 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1045 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1050 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1055 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1060 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1065 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1070 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1075 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1079 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1089 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1106 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1108 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1366 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1373 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1408 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1413 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1418 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1423 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1428 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1433 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1438 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1443 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1447 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1465 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1470 ->
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0858 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0858 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0858 _menhir_initp
      | IDENT _v_0 ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0858 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0858 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0858 _menhir_initp
      | COLON ->
          let x = _v in
          let _v = _menhir_action_294 x in
          _menhir_goto_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0126 ->
          _menhir_run_0129 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0858 ->
          _menhir_run_0859 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0949 ->
          _menhir_run_0950 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0129 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0130 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0859 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_295 x xs in
      _menhir_goto_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0950 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_ as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0951 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0949 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0949 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0949 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0949 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0949 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0949 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0296 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_lidentOrUnderscore (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0297 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0297 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_lidentOrUnderscore -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0297 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0413 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_lidentOrUnderscore (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LONG_LEFT_ARROW ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_LONG_LEFT_ARROW (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0414 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | COLON ->
          _menhir_run_0297 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0477 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_lidentOrUnderscore (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0478 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1017 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_PERCENT_LBRACK -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_PERCENT_LBRACK (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos__3_, _startpos__3_, l) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_393 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1022 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_SEQ_BANG_LBRACK -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_SEQ_BANG_LBRACK (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos__3_, _startpos__3_, l) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_392 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ l in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_simpleDef : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0109 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0792 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0253 ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0279 ->
          _menhir_run_0278 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0252 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_simpleDef (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_1 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0253 _menhir_initp
          | LPAREN ->
              _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0253 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0253 _menhir_initp
          | RBRACE ->
              let _v_3 = _menhir_action_507 () in
              _menhir_run_0776 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _v_3 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_519 x in
          _menhir_goto_right_flexible_nonempty_list_SEMICOLON_simpleDef_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0254 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | TILDE _v ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _endpos_3 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_1, _startpos_0, _v, _endpos_3) in
              let _v = _menhir_action_401 _endpos_op_ _startpos_op_ op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | OP_MIXFIX_ASSIGNMENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPPREFIX _v ->
          let _startpos_4 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_5 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _endpos_7 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_5, _startpos_4, _v, _endpos_7) in
              let _v = _menhir_action_399 _endpos_op_ _startpos_op_ op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPINFIX3R _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPINFIX3L _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPINFIX2 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPINFIX1 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPINFIX0d _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPINFIX0c _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPINFIX0b _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | OPINFIX0a _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0254 _menhir_initp
      | MINUS ->
          let _startpos_8 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_9 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _endpos_11 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_9, _startpos_8, (), _endpos_11) in
              let _v = _menhir_action_402 _endpos_op_ _startpos_op_ op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | LET_OP _v ->
          let _startpos_12 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_13 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _endpos_15 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_13, _startpos_12, _v, _endpos_15) in
              let _v = _menhir_action_404 _endpos_op_ _startpos_op_ op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | IMPLIES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0254 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0254 _menhir_initp
      | FORALL_OP _v ->
          let _startpos_16 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_17 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _endpos_19 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_17, _startpos_16, _v, _endpos_19) in
              let _v = _menhir_action_406 _endpos_op_ _startpos_op_ op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | EXISTS_OP _v ->
          let _startpos_20 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_21 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _endpos_23 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_21, _startpos_20, _v, _endpos_23) in
              let _v = _menhir_action_405 _endpos_op_ _startpos_op_ op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0254 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0254 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0254 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0254 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0254 _menhir_initp
      | AND_OP _v ->
          let _startpos_24 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_25 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _endpos_27 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_startpos__1_, _endpos_op_, _startpos_op_, op, _endpos__3_) = (_startpos, _endpos_25, _startpos_24, _v, _endpos_27) in
              let _v = _menhir_action_403 _endpos_op_ _startpos_op_ op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0776 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_simpleDef _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_simpleDef (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_520 x xs in
      _menhir_goto_right_flexible_nonempty_list_SEMICOLON_simpleDef_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_nonempty_list_SEMICOLON_simpleDef_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0109 ->
          _menhir_run_0777 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0777 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0777 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0777 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0777 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0777 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp
      | MenhirState0792 ->
          _menhir_run_0793 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0777 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _menhir_initp ->
      let (_endpos_record_fields_, _startpos_record_fields_, record_fields) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_455 _endpos_record_fields_ _startpos_record_fields_ record_fields in
      _menhir_goto_recordExp _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_recordExp : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0251 ->
          _menhir_run_0778 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0782 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0842 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0913 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0913 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0913 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0778 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_recordExp (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACE (_menhir_stack, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0779 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0779 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0779 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0779 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0779 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0779 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0779 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0779 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0779 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | LBRACE ->
          _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0779 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0779 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0779 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0779 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0779 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0779 _menhir_initp
      | HASH ->
          _menhir_run_0780 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0779 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0779 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0779 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0779 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_18 = _menhir_action_012 () in
          _menhir_run_0797 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0164 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_UNIV_HASH (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0164 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0166 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0165 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_112 _endpos__1_ _startpos__1_ in
      _menhir_goto_atomicUniverse _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_atomicUniverse : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0174 ->
          _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0177 ->
          _menhir_run_0177 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0166 ->
          _menhir_run_0179 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0170 ->
          _menhir_run_0179 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0164 ->
          _menhir_run_0180 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0177 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0177 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0166 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0177 _menhir_initp
      | INT _v_0 ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0177 _menhir_initp
      | IDENT _v_1 ->
          let _menhir_stack = MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0177 _menhir_initp
      | OPINFIX2 _ | RPAREN ->
          let (_endpos_x_, x) = (_endpos, _v) in
          let _v = _menhir_action_300 x in
          _menhir_goto_nonempty_list_atomicUniverse_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0166 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0166 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0166 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0167 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_n_, _startpos_n_, n) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_113 _endpos_n_ _startpos_n_ n in
      _menhir_goto_atomicUniverse _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_n_ _startpos_n_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_nonempty_list_atomicUniverse_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0174 ->
          _menhir_run_0175 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0177 ->
          _menhir_run_0178 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0175 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_ident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_ident (_menhir_stack, _menhir_s, max, _startpos_max_, _endpos_max_) = _menhir_stack in
      let (_endpos_us_, us) = (_endpos, _v) in
      let _v = _menhir_action_705 _endpos_max_ _endpos_us_ _startpos_max_ max us in
      _menhir_goto_universeFrom _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_us_ _startpos_max_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_universeFrom : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0166 ->
          _menhir_run_0168 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0170 ->
          _menhir_run_0171 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0168 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos__3_, u) = (_endpos_1, _v) in
          let _v = _menhir_action_115 u in
          _menhir_goto_atomicUniverse _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | OPINFIX2 _v_2 ->
          let _menhir_stack = MenhirCell1_universeFrom (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _v = _v_2 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_OPINFIX2 (_menhir_stack, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0170 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0166 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0171 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_universeFrom _menhir_cell0_OPINFIX2 -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_OPINFIX2 (_menhir_stack, op_plus, _startpos_op_plus_, _endpos_op_plus_) = _menhir_stack in
      let MenhirCell1_universeFrom (_menhir_stack, _menhir_s, u1, _startpos_u1_, _endpos_u1_) = _menhir_stack in
      let (_endpos_u2_, _startpos_u2_, u2) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_704 _endpos_op_plus_ _endpos_u1_ _endpos_u2_ _startpos_op_plus_ _startpos_u1_ _startpos_u2_ op_plus u1 u2 in
      _menhir_goto_universeFrom _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_u2_ _startpos_u1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0178 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_atomicUniverse -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_atomicUniverse (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_301 x xs in
      _menhir_goto_nonempty_list_atomicUniverse_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0179 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_ua_, _startpos_ua_, ua) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_703 ua in
      _menhir_goto_universeFrom _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ua_ _startpos_ua_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0180 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_UNIV_HASH -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_UNIV_HASH (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let ua = _v in
      let _v = _menhir_action_702 ua in
      _menhir_goto_universe _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_universe : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0163 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0183 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0784 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0784 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0784 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0784 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0784 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0784 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0183 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_universe (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0183 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0183 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0183 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0183 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0183 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0183 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0183 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0183 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0183 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0183 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0183 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0183 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0183 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0183 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0183 _menhir_initp
      | HASH ->
          _menhir_run_0181 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | CHAR _v_15 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0183 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0183 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_16 = _menhir_action_016 () in
          _menhir_run_0820 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0181 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0181 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0820 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_universe -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_universe (_menhir_stack, _menhir_s, a, _startpos_a_) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_015 a rest in
      _menhir_goto_appTermArgsNoRecordExp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos_a_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_appTermArgsNoRecordExp : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0184 ->
          _menhir_run_0819 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0820 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0821 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0822 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0819 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_indexingTerm -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, a, _startpos_a_, _) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_013 a rest in
      _menhir_goto_appTermArgsNoRecordExp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos_a_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0821 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_HASH, ttv_result) _menhir_cell1_indexingTerm -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_indexingTerm (_menhir_stack, _, a, _, _) = _menhir_stack in
      let MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_014 a rest in
      _menhir_goto_appTermArgsNoRecordExp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0822 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_indexingTerm -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, head, _startpos_head_, _endpos_head_) = _menhir_stack in
      let (_endpos_args_, _startpos_args_, args) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_018 _endpos_args_ _endpos_head_ _startpos_args_ _startpos_head_ args head in
      let (_endpos, _startpos) = (_endpos_args_, _startpos_head_) in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_019 t in
      _menhir_goto_appTermNoRecordExp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos_t_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_appTermNoRecordExp : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0297 ->
          _menhir_run_0299 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0299 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_appTermNoRecordExp (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          _menhir_run_0300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0299 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _menhir_s = MenhirState0299 in
          let _v = _menhir_action_335 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0300 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0300 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_12_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_phi_opt_, _startpos_phi_opt_, phi_opt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_458 phi_opt in
      _menhir_goto_refineOpt _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_phi_opt_ _startpos_phi_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_refineOpt : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0666 ->
          _menhir_run_0667 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0299 ->
          _menhir_run_0771 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0846 ->
          _menhir_run_0847 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0940 ->
          _menhir_run_0941 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0952 ->
          _menhir_run_0953 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0667 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_tuplePattern _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_refineOpt (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0668 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_tuplePattern _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow, ttv_result) _menhir_cell1_refineOpt -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_refineOpt (_menhir_stack, _, phi_opt, _, _) = _menhir_stack in
      let MenhirCell1_simpleArrow (_menhir_stack, _, t, _startpos_t_, _endpos_t_) = _menhir_stack in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tuplePattern (_menhir_stack, _, pat, _startpos_pat_, _endpos_pat_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let _endpos__6_ = _endpos in
      let _v = _menhir_action_073 _endpos__6_ _endpos_pat_ _endpos_t_ _startpos__1_ _startpos_pat_ _startpos_t_ pat phi_opt t in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__6_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0771 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON, ttv_result) _menhir_cell1_appTermNoRecordExp -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_appTermNoRecordExp (_menhir_stack, _, e, _startpos_e_, _endpos_e_) = _menhir_stack in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_lidentOrUnderscore (_menhir_stack, _menhir_s, id, _startpos_id_, _endpos_id_) = _menhir_stack in
      let (_endpos_phi_opt_, _startpos_phi_opt_, phi_opt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_673 _endpos_e_ _endpos_id_ _endpos_phi_opt_ _startpos_e_ _startpos_id_ _startpos_phi_opt_ e id phi_opt in
      _menhir_goto_tmRefinement _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_phi_opt_ _startpos_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tmRefinement : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_668 e in
      _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_671 e in
      _menhir_goto_tmNoEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tmNoEqWith_tmRefinement_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0294 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0566 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0566 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0566 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0568 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0570 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0572 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0574 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0576 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0578 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0583 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0292 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0571 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0573 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0569 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0575 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AND | AND_OP _ | AS | ASSUME | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_643 e in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0293 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX4 (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0293 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0567 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX3R (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0567 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0571 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX3L (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0571 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0573 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_COLON_COLON (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0573 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0569 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_BACKTICK (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0569 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0575 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _menhir_s = MenhirState0575 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_tmEqWith_tmRefinement_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0326 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0328 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0330 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0332 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0336 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0338 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0340 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0342 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0344 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0346 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0348 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0350 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0487 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0487 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0487 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0487 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0772 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_1007 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0326 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0327 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | OPINFIX0c _v_3 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
      | OPINFIX0b _v_4 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0343 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 _menhir_initp
      | OPINFIX0a _v_5 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0347 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0349 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_608 e in
          _menhir_goto_tmEq _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0327 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_PIPE_RIGHT (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0327 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0329 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_PIPE_LEFT (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0329 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0331 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX2 (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0331 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0335 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX1 (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0335 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0339 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX0d (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0339 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0341 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX0c (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0341 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0343 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX0b (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0343 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0347 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX0a (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0347 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0337 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_MINUS (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0337 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0345 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0345 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_tmEq : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0351 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0353 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_1008 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_1010 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_1010 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0351 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_tmEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0352 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_675 e in
          _menhir_goto_tmTuple _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_tmTuple : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0320 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0359 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0757 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0882 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0320 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_607 e in
      _menhir_goto_tmConjunction _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tmConjunction : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0357 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0370 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0744 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0755 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0876 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0880 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0357 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0358 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_645 e in
          _menhir_goto_tmFormula _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0358 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmConjunction -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_CONJUNCTION (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0358 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_tmFormula : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0324 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0362 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0362 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0362 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0366 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0366 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0372 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0372 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0742 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0766 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0806 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0874 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0889 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0915 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0990 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0995 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_1000 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0324 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0324 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0324 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_596 e in
          _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0325 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmFormula as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_RARROW (_menhir_stack, _menhir_s, _endpos) in
      let _menhir_s = MenhirState0325 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0369 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmFormula as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_DISJUNCTION (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0369 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_tmArrow_tmFormula_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0325 ->
          _menhir_run_0360 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0364 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0368 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0374 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0375 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0764 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0887 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0918 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0993 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0998 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_1003 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0360 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_RARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _menhir_s, dom_tm, _startpos_dom_tm_, _endpos_dom_tm_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_592 _endpos_dom_tm_ _endpos_tgt_ _startpos_dom_tm_ _startpos_tgt_ dom_tm tgt in
      _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_dom_tm_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0364 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_RARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, dom_tm, _, _endpos_dom_tm_) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_593 _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x in
      _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0368 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_RARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, dom_tm, _, _endpos_dom_tm_) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_594 _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x in
      _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0374 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_RARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, dom_tm, _, _endpos_dom_tm_) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _, x_inlined1, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_595 _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x x_inlined1 in
      _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0375 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | IMPLIES ->
          let _menhir_stack = MenhirCell1_tmArrow_tmFormula_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_IMPLIES (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0376 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_649 e in
          _menhir_goto_tmImplies _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_tmImplies : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0321 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0377 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0321 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | IFF ->
          let _menhir_stack = MenhirCell1_tmImplies (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_IFF (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0322 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_647 e in
          _menhir_goto_tmIff _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_tmIff : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0322 ->
          _menhir_run_0323 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0378 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0380 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0383 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0386 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0405 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0408 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0562 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_1238 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_1242 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_1246 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_1281 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_1292 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_1376 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_1382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0323 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmImplies _menhir_cell0_IFF -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_IFF (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
      let MenhirCell1_tmImplies (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (tok, _endpos_e2_, _startpos_e2_, e2) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_646 _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok in
      _menhir_goto_tmIff _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0378 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SUBTYPE ->
          let _menhir_stack = MenhirCell1_tmIff (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0379 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | EQUALTYPE ->
          let _menhir_stack = MenhirCell1_tmIff (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0385 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_680 e in
          _menhir_goto_typ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_typ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0319 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0382 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0391 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0722 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0773 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_1004 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_1043 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_1048 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_1053 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_1058 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_1063 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_1068 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_1073 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_1078 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_1082 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_1161 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_1204 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_1209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_1212 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_1218 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_1411 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_1416 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_1421 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_1426 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_1431 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_1436 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_1441 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_1446 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_1450 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_1461 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_1473 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0319 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_255 t in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos_t_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_noSeqTerm : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0318 ->
          _menhir_run_0389 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0415 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0419 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0422 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0424 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0499 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0517 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0522 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0527 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0701 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0702 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0716 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0720 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0725 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0734 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0736 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0740 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0746 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0750 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0754 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0759 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0763 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0768 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0769 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0774 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0863 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0865 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0869 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0873 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0879 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0884 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0886 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0893 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_1034 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0389 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ASSERT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BY ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0390 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell1_ASSERT (_menhir_stack, _menhir_s, _startpos_a_, _endpos_a_) = _menhir_stack in
          let (_endpos_e_, e, a) = (_endpos, _v, ()) in
          let _v = _menhir_action_279 _endpos_a_ _endpos_e_ _startpos_a_ a e in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_a_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0410 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON_OP _v_0 ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0411 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0699 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_579 e in
          _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0411 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_noSeqTerm -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_SEMICOLON_OP (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0411 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0699 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_noSeqTerm -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
      let _menhir_s = MenhirState0699 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_term : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0393 ->
          _menhir_run_0394 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0412 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0417 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0493 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0496 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0501 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0504 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0507 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0514 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0519 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0524 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0537 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0545 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0552 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0557 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0623 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0632 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0638 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0644 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0650 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0656 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0662 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0675 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0678 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0681 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0686 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0693 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0700 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0713 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0723 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0724 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0724 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0724 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0733 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0733 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0733 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0801 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0804 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0805 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0810 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0812 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0817 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0894 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0921 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0962 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0970 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0972 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0977 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0987 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_1019 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_1273 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_1275 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_1547 _menhir_stack _v
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0394 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_matchMaybeOp as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | AS ->
          _menhir_run_0395 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0394 _menhir_initp
      | RETURNS ->
          let _menhir_s = MenhirState0394 in
          let _v = _menhir_action_345 () in
          _menhir_goto_option___anonymous_8_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS_EQ ->
          let _menhir_s = MenhirState0394 in
          let _v = _menhir_action_347 () in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | WITH ->
          let _v_2 = _menhir_action_355 () in
          _menhir_run_0397 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0394 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0395 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
      let _menhir_s = MenhirState0395 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_8_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_option___anonymous_8_ (_menhir_stack, _menhir_s, _v) in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RETURNS (_menhir_stack, _endpos) in
      let _menhir_s = MenhirState0407 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_9_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_option___anonymous_9_ (_menhir_stack, _menhir_s, _v) in
      let _menhir_s = MenhirState0404 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0397 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_matchMaybeOp, ttv_result) _menhir_cell1_term as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_match_returning_ (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0398 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOT_DOT ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let _v = _menhir_action_461 () in
              _menhir_goto_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_goto_reverse_left_flexible_list_BAR___anonymous_10_ : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_matchMaybeOp, ttv_result) _menhir_cell1_term, ttv_result) _menhir_cell1_option_match_returning_ _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR ->
          let _menhir_stack = MenhirCell1_reverse_left_flexible_list_BAR___anonymous_10_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_BAR (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState0400 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOT_DOT ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
          let MenhirCell1_option_match_returning_ (_menhir_stack, _, ret_opt) = _menhir_stack in
          let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
          let MenhirCell1_matchMaybeOp (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let (_endpos_xs_, _startpos_xs_, xs) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_272 _endpos_op_ _endpos_xs_ _startpos_op_ _startpos_xs_ e op ret_opt xs in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_op_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0412 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON_OP -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_SEMICOLON_OP (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
      let (_endpos_e2_, e2) = (_endpos, _v) in
      let _v = _menhir_action_581 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
      _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0417 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_lidentOrUnderscore _menhir_cell0_LONG_LEFT_ARROW, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, e1, _, _) = _menhir_stack in
      let MenhirCell0_LONG_LEFT_ARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_lidentOrUnderscore (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_e2_, e2) = (_endpos, _v) in
      let _v = _menhir_action_582 _endpos_e2_ _startpos_x_ e1 e2 x in
      _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0493 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tuplePattern, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let tm = _v in
      let _v = _menhir_action_342 tm in
      _menhir_goto_option___anonymous_4_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
  
  and _menhir_run_0496 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident, ttv_result) _menhir_cell1_DOT_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LARROW ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              let _menhir_s = MenhirState0497 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0498 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT ->
                  _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | DOT_LPAREN ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0497 _menhir_initp
          | DOT_LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0497 _menhir_initp
          | DOT_LBRACK_BAR ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0497 _menhir_initp
          | DOT_LBRACK ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0497 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let MenhirCell1_DOT_LPAREN (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_, e) = ((), _endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_302 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op in
              _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0186 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_DOT_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0186 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0500 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_DOT_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0500 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0503 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_DOT_LBRACK_BAR (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0503 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0506 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_DOT_LBRACK (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0506 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_nonempty_list_dotOperator_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0508 ->
          _menhir_run_0509 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0525 ->
          _menhir_run_0509 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0505 ->
          _menhir_run_0510 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0520 ->
          _menhir_run_0510 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0502 ->
          _menhir_run_0511 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0515 ->
          _menhir_run_0511 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0497 ->
          _menhir_run_0512 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0818 ->
          _menhir_run_0512 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0185 ->
          _menhir_run_0528 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0494 ->
          _menhir_run_0528 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0509 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT_LBRACK, ttv_result) _menhir_cell1_term _menhir_cell0_RBRACK -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACK (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_DOT_LBRACK (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (op, _endpos_xs_, xs) = ((), _endpos, _v) in
      let _v = _menhir_action_307 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op xs in
      _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0510 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT_LBRACK_BAR, ttv_result) _menhir_cell1_term _menhir_cell0_BAR_RBRACK -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_DOT_LBRACK_BAR (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (op, _endpos_xs_, xs) = ((), _endpos, _v) in
      let _v = _menhir_action_308 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op xs in
      _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0511 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT_LENS_PAREN_LEFT, ttv_result) _menhir_cell1_term _menhir_cell0_LENS_PAREN_RIGHT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_DOT_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (op, _endpos_xs_, xs) = ((), _endpos, _v) in
      let _v = _menhir_action_309 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op xs in
      _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0512 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT_LPAREN, ttv_result) _menhir_cell1_term _menhir_cell0_RPAREN -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_RPAREN (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_DOT_LPAREN (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (op, _endpos_xs_, xs) = ((), _endpos, _v) in
      let _v = _menhir_action_306 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op xs in
      _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0528 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
      let (_endpos_op_exprs_, op_exprs) = (_endpos, _v) in
      let _v = _menhir_action_199 e1 op_exprs in
      _menhir_goto_indexingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_op_exprs_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_indexingTerm : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0130 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0163 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0182 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0184 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0184 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0184 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0184 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0250 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0786 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0786 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0786 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0786 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0786 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0786 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0795 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0163 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0163 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0163 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0163 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0163 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0163 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0163 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0163 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0163 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0163 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0163 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0163 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0163 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0163 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0163 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0163 _menhir_initp
      | HASH ->
          _menhir_run_0181 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | CHAR _v_15 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0163 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0163 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_16 = _menhir_action_016 () in
          _menhir_run_0822 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0182 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_HASH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0182 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0182 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0182 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0182 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0182 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0182 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0182 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0182 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0182 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0182 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0182 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0182 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0182 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0182 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0182 _menhir_initp
      | HASH ->
          _menhir_run_0181 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | CHAR _v_15 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0182 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0182 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_16 = _menhir_action_016 () in
          _menhir_run_0821 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0184 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0184 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0184 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0184 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0184 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0184 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0184 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0184 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0184 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0184 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0184 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0184 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0184 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0184 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0184 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0184 _menhir_initp
      | HASH ->
          _menhir_run_0181 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | CHAR _v_15 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0184 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0184 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_16 = _menhir_action_016 () in
          _menhir_run_0819 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0250 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0250 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0250 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0250 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0250 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0250 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0250 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0250 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0250 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0250 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | LBRACE ->
          _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0250 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0250 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0250 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0250 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0250 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0250 _menhir_initp
      | HASH ->
          _menhir_run_0780 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0250 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0250 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0250 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0250 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_18 = _menhir_action_012 () in
          _menhir_run_0798 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0251 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0251 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0110 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0780 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0780 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0781 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0110 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0798 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_indexingTerm -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, head, _startpos_head_, _endpos_head_) = _menhir_stack in
      let (_endpos_args_, _startpos_args_, args) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_017 _endpos_args_ _endpos_head_ _startpos_args_ _startpos_head_ args head in
      let (_endpos, _startpos) = (_endpos_args_, _startpos_head_) in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_004 t in
      _menhir_goto_appTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos_t_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_appTerm : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0334 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0549 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0549 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0549 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0549 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0549 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0549 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0791 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0791 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0791 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0791 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0791 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0791 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0965 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0965 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0334 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_674 e in
      _menhir_goto_tmRefinement _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0549 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_appTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0550 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION | RBRACE ->
          let x = _v in
          let _v = _menhir_action_533 x in
          _menhir_goto_separated_nonempty_list_SEMICOLON_appTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_SEMICOLON_appTerm_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0242 ->
          _menhir_run_0247 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0247 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0247 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0247 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0247 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0551 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0247 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let pats = _v in
      let _v = _menhir_action_148 pats in
      match (_tok : MenhirBasics.token) with
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_conjunctivePat (_menhir_stack, _menhir_s, _v) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DISJUNCTION (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0547 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_531 x in
          _menhir_goto_separated_nonempty_list_DISJUNCTION_conjunctivePat_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_separated_nonempty_list_DISJUNCTION_conjunctivePat_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0242 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0248 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0548 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0248 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let pats = _v in
      let _v = _menhir_action_182 pats in
      _menhir_goto_disjunctivePats _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_disjunctivePats : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0305 ->
          _menhir_run_0306 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0543 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0799 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0802 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0306 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_disjunctivePats (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACE (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0307 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0543 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_FORALL_OP, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_disjunctivePats (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACE (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0544 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0799 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_disjunctivePats (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACE (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0800 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0802 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_EXISTS_OP, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_disjunctivePats (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACE (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0803 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0548 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_conjunctivePat _menhir_cell0_DISJUNCTION -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_DISJUNCTION (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_conjunctivePat (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_532 x xs in
      _menhir_goto_separated_nonempty_list_DISJUNCTION_conjunctivePat_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0551 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_appTerm _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_appTerm (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_534 x xs in
      _menhir_goto_separated_nonempty_list_SEMICOLON_appTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0791 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_appTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0792 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0965 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_appTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0966 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0966 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0966 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0966 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0966 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0966 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0966 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0966 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0966 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0966 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0966 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0966 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0966 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0966 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0966 _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | FORALL_OP _v_16 ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0966 _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | EXISTS_OP _v_17 ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0966 _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | CHAR _v_18 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0966 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0966 _menhir_initp
          | RBRACE ->
              let _v_19 = _menhir_action_486 () in
              _menhir_run_0967 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_487 x in
          _menhir_goto_right_flexible_list_COMMA_appTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0967 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_appTerm _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_appTerm (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_488 x xs in
      _menhir_goto_right_flexible_list_COMMA_appTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_COMMA_appTerm_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0092 ->
          _menhir_run_0963 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0967 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0786 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0786 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0786 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0786 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0786 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0786 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0786 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0786 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0786 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0786 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | LBRACE ->
          _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0786 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0786 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0786 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0786 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0786 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0786 _menhir_initp
      | HASH ->
          _menhir_run_0780 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0786 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0786 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0786 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0786 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_18 = _menhir_action_012 () in
          _menhir_run_0787 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0787 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_indexingTerm -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, a, _startpos_a_, _) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_007 a rest in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos_a_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_appTermArgs : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0786 ->
          _menhir_run_0787 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0788 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0789 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0796 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0797 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0798 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0788 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_universe -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_universe (_menhir_stack, _menhir_s, a, _startpos_a_) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_011 a rest in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos_a_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0789 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_HASH, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_recordExp _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACE (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_recordExp (_menhir_stack, _, e) = _menhir_stack in
      let MenhirCell1_LBRACE (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_010 e rest in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0796 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_HASH, ttv_result) _menhir_cell1_indexingTerm -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_indexingTerm (_menhir_stack, _, a, _, _) = _menhir_stack in
      let MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_008 a rest in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0797 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_recordExp _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACE (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_recordExp (_menhir_stack, _, e) = _menhir_stack in
      let MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_009 e rest in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0795 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_HASH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_indexingTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0795 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0795 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0795 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0795 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0795 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0795 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0795 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0795 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0795 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | LBRACE ->
          _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0795 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0795 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0795 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0795 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0795 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0795 _menhir_initp
      | HASH ->
          _menhir_run_0780 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0795 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0795 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0795 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0795 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_18 = _menhir_action_012 () in
          _menhir_run_0796 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0501 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT_LENS_PAREN_LEFT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | LENS_PAREN_RIGHT ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | DOT_LPAREN ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0502 _menhir_initp
          | DOT_LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0502 _menhir_initp
          | DOT_LBRACK_BAR ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0502 _menhir_initp
          | DOT_LBRACK ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0502 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let MenhirCell1_DOT_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_, e) = ((), _endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_305 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op in
              _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0504 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT_LBRACK_BAR as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR_RBRACK ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | DOT_LPAREN ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0505 _menhir_initp
          | DOT_LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0505 _menhir_initp
          | DOT_LBRACK_BAR ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0505 _menhir_initp
          | DOT_LBRACK ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0505 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let MenhirCell1_DOT_LBRACK_BAR (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_, e) = ((), _endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_304 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op in
              _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0507 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT_LBRACK as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RBRACK ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | DOT_LPAREN ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0508 _menhir_initp
          | DOT_LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0508 _menhir_initp
          | DOT_LBRACK_BAR ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0508 _menhir_initp
          | DOT_LBRACK ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0508 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let MenhirCell1_DOT_LBRACK (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_, e) = ((), _endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_303 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op in
              _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0514 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident, ttv_result) _menhir_cell1_DOT_LENS_PAREN_LEFT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | LENS_PAREN_RIGHT ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LARROW ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              let _menhir_s = MenhirState0515 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0516 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT ->
                  _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | DOT_LPAREN ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0515 _menhir_initp
          | DOT_LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0515 _menhir_initp
          | DOT_LBRACK_BAR ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0515 _menhir_initp
          | DOT_LBRACK ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0515 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let MenhirCell1_DOT_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_, e) = ((), _endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_305 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op in
              _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0519 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident, ttv_result) _menhir_cell1_DOT_LBRACK_BAR as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR_RBRACK ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LARROW ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              let _menhir_s = MenhirState0520 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0521 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT ->
                  _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | DOT_LPAREN ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
          | DOT_LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
          | DOT_LBRACK_BAR ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
          | DOT_LBRACK ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0520 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let MenhirCell1_DOT_LBRACK_BAR (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_, e) = ((), _endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_304 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op in
              _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0524 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident, ttv_result) _menhir_cell1_DOT_LBRACK as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RBRACK ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LARROW ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              let _menhir_s = MenhirState0525 in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LARROW (_menhir_stack, _menhir_s, _endpos) in
              let _menhir_s = MenhirState0526 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT ->
                  _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | DOT_LPAREN ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0525 _menhir_initp
          | DOT_LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0525 _menhir_initp
          | DOT_LBRACK_BAR ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0525 _menhir_initp
          | DOT_LBRACK ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0525 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let MenhirCell1_DOT_LBRACK (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_, e) = ((), _endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_303 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op in
              _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0537 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET_OP, ttv_result) _menhir_cell1_letoperatorbinding, ttv_result) _menhir_cell1_list___anonymous_11_ _menhir_cell0_IN -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_IN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_list___anonymous_11_ (_menhir_stack, _, lbs) = _menhir_stack in
      let MenhirCell1_letoperatorbinding (_menhir_stack, _, b) = _menhir_stack in
      let MenhirCell1_LET_OP (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_276 _endpos_e_ _endpos_op_ _startpos_e_ _startpos_op_ b e lbs op in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0545 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_FORALL_OP, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN, ttv_result) _menhir_cell1_disjunctivePats _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACE (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_disjunctivePats (_menhir_stack, _, pats) = _menhir_stack in
      let MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_320 _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op pats in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_onlyTrailingTerm : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0249 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0618 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0785 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0785 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0785 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0785 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0785 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0785 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0794 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0249 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_003 t in
      _menhir_goto_appTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos_t_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0618 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_COLON, ttv_result) _menhir_cell1_tmArrow_tmNoEq_ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_678 x in
      _menhir_goto_trailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _tok _menhir_initp
  
  and _menhir_goto_trailingTerm : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_COLON, ttv_result) _menhir_cell1_tmArrow_tmNoEq_ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_585 _endpos_t_ _startpos_t_ t in
      let _endpos = _endpos_t_ in
      let (_endpos_tactic_, tactic) = (_endpos, _v) in
      let _v = _menhir_action_344 tactic in
      _menhir_goto_option___anonymous_7_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tactic_ _v _tok _menhir_initp
  
  and _menhir_goto_option___anonymous_7_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_COLON, ttv_result) _menhir_cell1_tmArrow_tmNoEq_ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_tmArrow_tmNoEq_ (_menhir_stack, _, t, _, _) = _menhir_stack in
      let MenhirCell1_COLON (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tacopt_, tacopt) = (_endpos, _v) in
      let _v = _menhir_action_072 t tacopt in
      _menhir_goto_ascribeTyp _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tacopt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_ascribeTyp : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0482 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0490 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0629 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0635 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0641 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0653 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0530 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0676 ->
          _menhir_run_0679 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0530 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_352 x in
      _menhir_goto_option_ascribeTyp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_option_ascribeTyp_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0490 ->
          _menhir_run_0491 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0482 ->
          _menhir_run_0621 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0629 ->
          _menhir_run_0630 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0635 ->
          _menhir_run_0636 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0641 ->
          _menhir_run_0642 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0647 ->
          _menhir_run_0648 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0653 ->
          _menhir_run_0654 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0659 ->
          _menhir_run_0660 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0672 ->
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0683 ->
          _menhir_run_0684 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0621 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0622 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0630 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0631 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0636 : type  ttv_stack ttv_result. ((((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS, ttv_result) _menhir_cell1_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0637 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0642 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0643 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0648 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0649 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0654 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0655 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0660 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0661 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0673 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0674 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0684 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_lident, ttv_result) _menhir_cell1_nonempty_list_genBinder_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_ascribeTyp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0685 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0679 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_tuplePattern as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_ascribeTyp (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0680 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0785 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_a_, _startpos_a_, a) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_005 a in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_a_ _startpos_a_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0794 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_HASH -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_a_, a) = (_endpos, _v) in
      let _v = _menhir_action_006 a in
      _menhir_goto_appTermArgs _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_a_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0552 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_FORALL_OP, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_FORALL_OP (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_319 _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0557 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SUBKIND ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let _v = _menhir_action_193 () in
          let _menhir_stack = MenhirCell0_hasSort (_menhir_stack, _v) in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0561 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0561 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0561 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0561 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | TILDE _v_4 ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0561 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0561 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0561 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0561 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0561 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0561 _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0561 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0561 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0561 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0561 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0561 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0561 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | FORALL_OP _v_16 ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0561 _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | EXISTS_OP _v_17 ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0561 _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | CHAR _v_18 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0561 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0561 _menhir_initp
          | _ ->
              _eRR ())
      | RPAREN ->
          let _v = _menhir_action_357 () in
          _menhir_goto_option_pair_hasSort_simpleTerm__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option_pair_hasSort_simpleTerm__ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_term -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos__4_, _startpos__4_, sort_opt) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_390 _endpos__1_ _endpos__4_ _startpos__1_ _startpos__4_ e sort_opt in
          _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__4_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0623 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_TILDE (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _startpos__1_, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, _startpos_tm_, tm) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_207 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_letbinding : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0427 ->
          _menhir_run_0687 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0688 ->
          _menhir_run_0689 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0695 ->
          _menhir_run_0696 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0973 ->
          _menhir_run_0974 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1397 ->
          _menhir_run_1399 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1400 ->
          _menhir_run_1399 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1451 ->
          _menhir_run_1452 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0687 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_attribute _menhir_cell0_LET, ttv_result) _menhir_cell1_localletqualifier as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_letbinding (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0687 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0687 _menhir_initp
      | AND ->
          _menhir_run_0688 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0687 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_227 () in
          _menhir_run_0691 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0687 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0688 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_AND (_menhir_stack, _menhir_s, _endpos) in
      let _menhir_s = MenhirState0688 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          _menhir_reduce_140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0691 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_attribute _menhir_cell0_LET, ttv_result) _menhir_cell1_localletqualifier, ttv_result) _menhir_cell1_letbinding as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_list_attr_letbinding_ (_menhir_stack, _menhir_s, _v) in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_IN (_menhir_stack, _endpos) in
      let _menhir_s = MenhirState0692 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0689 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_AND -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_AND (_menhir_stack, _menhir_s, _) = _menhir_stack in
      let lb = _v in
      let _v = _menhir_action_116 lb in
      _menhir_goto_attr_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_attr_letbinding : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_attr_letbinding (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0697 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0697 _menhir_initp
      | AND ->
          _menhir_run_0688 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0697 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_227 () in
          _menhir_run_0698 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0698 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_attr_letbinding -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_attr_letbinding (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_228 x xs in
      _menhir_goto_list_attr_letbinding_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_list_attr_letbinding_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0687 ->
          _menhir_run_0691 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState0697 ->
          _menhir_run_0698 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0974 ->
          _menhir_run_0975 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0975 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LET, ttv_result) _menhir_cell1_localletqualifier, ttv_result) _menhir_cell1_letbinding as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_list_attr_letbinding_ (_menhir_stack, _menhir_s, _v) in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_IN (_menhir_stack, _endpos) in
      let _menhir_s = MenhirState0976 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0696 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_attribute _menhir_cell0_AND -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell0_AND (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_attribute (_menhir_stack, _menhir_s, x, _) = _menhir_stack in
      let lb = _v in
      let _v = _menhir_action_117 lb x in
      _menhir_goto_attr_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0974 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET, ttv_result) _menhir_cell1_localletqualifier as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_letbinding (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0974 _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0974 _menhir_initp
      | AND ->
          _menhir_run_0688 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0974 _menhir_initp
      | IN ->
          let _v_0 = _menhir_action_227 () in
          _menhir_run_0975 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0974 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1399 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | AND ->
          let _menhir_stack = MenhirCell1_letbinding (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_AND (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1400 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | SQUIGGLY_RARROW ->
              _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              _menhir_reduce_140 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let (_endpos_x_, x) = (_endpos, _v) in
          let _v = _menhir_action_521 x in
          _menhir_goto_separated_nonempty_list_AND_letbinding_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_AND_letbinding_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1397 ->
          _menhir_run_1398 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1400 ->
          _menhir_run_1401 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1398 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_LET, ttv_result) _menhir_cell1_letqualifier -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_letqualifier (_menhir_stack, _, q) = _menhir_stack in
      let MenhirCell0_LET (_menhir_stack, _startpos__1_, _) = _menhir_stack in
      let (_endpos_lbs_, lbs) = (_endpos, _v) in
      let _v = _menhir_action_434 _endpos_lbs_ _startpos__1_ lbs q in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_lbs_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1401 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_letbinding _menhir_cell0_AND -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_AND (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_letbinding (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_522 x xs in
      _menhir_goto_separated_nonempty_list_AND_letbinding_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1452 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_letqualifier -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_letqualifier (_menhir_stack, _, q) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_lb_, lb) = (_endpos, _v) in
      let _v = _menhir_action_691 _endpos_lb_ _startpos__1_ lb q in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_lb_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0632 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_OPPREFIX (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _startpos__1_, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, _startpos_tm_, tm) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_205 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0638 : type  ttv_stack ttv_result. ((((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS, ttv_result) _menhir_cell1_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell1_RPAREN (_menhir_stack, _, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_MINUS (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _startpos__1_, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (op, _endpos_tm_, _startpos_tm_, tm) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_208 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0644 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_LET_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _startpos__1_, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, _startpos_tm_, tm) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_210 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0650 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_FORALL_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _startpos__1_, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, _startpos_tm_, tm) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_212 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0656 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_EXISTS_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _startpos__1_, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, _startpos_tm_, tm) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_211 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0662 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_AND_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _startpos__1_, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, _startpos_tm_, tm) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_209 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_op_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_op_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0675 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binop_name (_menhir_stack, _, op, _, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _startpos__1_, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, _startpos_tm_, tm) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_206 _endpos__3_ _endpos_focus_opt_ _endpos_lbp_ _endpos_tm_ _startpos__1_ _startpos_focus_opt_ _startpos_lbp_ _startpos_tm_ ascr_opt focus_opt lbp op tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0678 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_tuplePattern, ttv_result) _menhir_cell1_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_EQUALS (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_tuplePattern (_menhir_stack, _, pat, _, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _) = _menhir_stack in
      let (_endpos_tm_, tm) = (_endpos, _v) in
      let _v = _menhir_action_214 focus_opt pat tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0681 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_tuplePattern, ttv_result) _menhir_cell1_ascribeTyp _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _startpos_eq_, _endpos_eq_) = _menhir_stack in
      let MenhirCell1_ascribeTyp (_menhir_stack, _, ascr, _, _) = _menhir_stack in
      let MenhirCell1_tuplePattern (_menhir_stack, _, pat, _, _) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, tm, eq) = (_endpos, _v, ()) in
      let _v = _menhir_action_213 _endpos_eq_ _endpos_focus_opt_ _startpos_eq_ _startpos_focus_opt_ ascr eq focus_opt pat tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0686 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_lident, ttv_result) _menhir_cell1_nonempty_list_genBinder_, ttv_result) _menhir_cell1_option_ascribeTyp_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_option_ascribeTyp_ (_menhir_stack, _, ascr_opt, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, lbp, _startpos_lbp_, _endpos_lbp_) = _menhir_stack in
      let MenhirCell1_lident (_menhir_stack, _, id, _startpos_id_, _endpos_id_) = _menhir_stack in
      let MenhirCell1_maybeFocus (_menhir_stack, _menhir_s, focus_opt, _startpos_focus_opt_, _endpos_focus_opt_) = _menhir_stack in
      let (_endpos_tm_, _startpos_tm_, tm) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_204 _endpos_focus_opt_ _endpos_id_ _endpos_lbp_ _endpos_tm_ _startpos_focus_opt_ _startpos_id_ _startpos_lbp_ _startpos_tm_ ascr_opt focus_opt id lbp tm in
      _menhir_goto_letbinding _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tm_ _startpos_focus_opt_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0693 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_attribute _menhir_cell0_LET, ttv_result) _menhir_cell1_localletqualifier, ttv_result) _menhir_cell1_letbinding, ttv_result) _menhir_cell1_list_attr_letbinding_ _menhir_cell0_IN -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_IN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_list_attr_letbinding_ (_menhir_stack, _, lbs) = _menhir_stack in
      let MenhirCell1_letbinding (_menhir_stack, _, lb, _startpos_lb_, _endpos_lb_) = _menhir_stack in
      let MenhirCell1_localletqualifier (_menhir_stack, _, q, _startpos_q_, _endpos_q_) = _menhir_stack in
      let MenhirCell0_LET (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_attribute (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_275 _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ _startpos_x_ e lb lbs q x in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0700 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_580 _endpos_e1_ _endpos_e2_ _startpos_e1_ _startpos_e2_ e1 e2 in
      _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0713 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_calcRel _menhir_cell0_LBRACE as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let x = _v in
      let _v = _menhir_action_362 x in
      _menhir_goto_option_term_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_option_term_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_calcRel _menhir_cell0_LBRACE as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_term_ (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | RBRACE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RBRACE (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0715 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0723 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN, ttv_result) _menhir_cell1_disjunctivePats _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACE (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_disjunctivePats (_menhir_stack, _, pats) = _menhir_stack in
      let MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_FORALL (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_316 _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e pats in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0724 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_FORALL (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_315 _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0733 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_317 _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0801 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN, ttv_result) _menhir_cell1_disjunctivePats _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACE (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_disjunctivePats (_menhir_stack, _, pats) = _menhir_stack in
      let MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_318 _endpos__1_ _endpos__3_ _endpos_e_ _startpos__1_ _startpos__3_ _startpos_e_ bs e pats in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0804 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_EXISTS_OP, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_LBRACE_COLON_PATTERN, ttv_result) _menhir_cell1_disjunctivePats _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACE (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_disjunctivePats (_menhir_stack, _, pats) = _menhir_stack in
      let MenhirCell1_LBRACE_COLON_PATTERN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_322 _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op pats in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0805 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_EXISTS_OP, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _startpos__3_, _endpos__3_) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS_OP (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_321 _endpos__3_ _endpos_e_ _endpos_op_ _startpos__3_ _startpos_e_ _startpos_op_ bs e op in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0810 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_disjunctivePattern, ttv_result) _menhir_cell1_WHEN, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_maybeFocusArrow -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_maybeFocusArrow (_menhir_stack, _, focus, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, e_inlined1, _, _) = _menhir_stack in
      let MenhirCell1_WHEN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_disjunctivePattern (_menhir_stack, _menhir_s, pat, _startpos_pat_, _endpos_pat_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_368 _endpos_pat_ _startpos_pat_ e e_inlined1 focus pat in
      _menhir_goto_patternBranch _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_pat_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_patternBranch : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0191 ->
          _menhir_run_0225 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0401 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0402 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0815 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0816 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0816 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0225 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BAR -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BAR (_menhir_stack, _menhir_s, _startpos_x_inlined1_) = _menhir_stack in
      let (_endpos_x_, x, x_inlined1) = (_endpos, _v, ()) in
      let _v = _menhir_action_465 x x_inlined1 in
      _menhir_goto_reverse_left_flexible_nonempty_list_BAR_patternBranch_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_inlined1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_reverse_left_flexible_nonempty_list_BAR_patternBranch_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0189 ->
          _menhir_run_0813 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_1021 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0813 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_FUNCTION as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR ->
          let _menhir_stack = MenhirCell1_reverse_left_flexible_nonempty_list_BAR_patternBranch_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0814 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell1_FUNCTION (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_xs_, _startpos_xs_, xs) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_277 _endpos__1_ _endpos_xs_ _startpos__1_ _startpos_xs_ xs in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0814 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_reverse_left_flexible_nonempty_list_BAR_patternBranch_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell0_BAR (_menhir_stack, _startpos) in
      let _menhir_s = MenhirState0814 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOT_DOT ->
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1021 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_TRY, ttv_result) _menhir_cell1_term _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR ->
          let _menhir_stack = MenhirCell1_reverse_left_flexible_nonempty_list_BAR_patternBranch_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0814 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
          let MenhirCell1_term (_menhir_stack, _, e1, _, _) = _menhir_stack in
          let MenhirCell1_TRY (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos_xs_, _startpos_xs_, xs) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_271 _endpos__1_ _endpos_xs_ _startpos__1_ _startpos_xs_ e1 xs in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0401 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_matchMaybeOp, ttv_result) _menhir_cell1_term, ttv_result) _menhir_cell1_option_match_returning_ _menhir_cell0_WITH, ttv_result) _menhir_cell1_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_cell0_BAR -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_BAR (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_reverse_left_flexible_list_BAR___anonymous_10_ (_menhir_stack, _menhir_s, xs, _startpos_xs_, _) = _menhir_stack in
      let (_endpos_pb_, pb) = (_endpos, _v) in
      let _v = _menhir_action_463 pb xs in
      _menhir_goto_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pb_ _startpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0402 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_matchMaybeOp, ttv_result) _menhir_cell1_term, ttv_result) _menhir_cell1_option_match_returning_ _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_pb_, _startpos_pb_, pb) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_462 pb in
      _menhir_goto_reverse_left_flexible_list_BAR___anonymous_10_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pb_ _startpos_pb_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0815 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_reverse_left_flexible_nonempty_list_BAR_patternBranch_ _menhir_cell0_BAR -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_BAR (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_reverse_left_flexible_nonempty_list_BAR_patternBranch_ (_menhir_stack, _menhir_s, xs, _startpos_xs_, _) = _menhir_stack in
      let (_endpos_x_, x) = (_endpos, _v) in
      let _v = _menhir_action_466 x xs in
      _menhir_goto_reverse_left_flexible_nonempty_list_BAR_patternBranch_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0816 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_464 x in
      _menhir_goto_reverse_left_flexible_nonempty_list_BAR_patternBranch_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0812 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_disjunctivePattern, ttv_result) _menhir_cell1_maybeFocusArrow -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_maybeFocusArrow (_menhir_stack, _, focus, _) = _menhir_stack in
      let MenhirCell1_disjunctivePattern (_menhir_stack, _menhir_s, pat, _startpos_pat_, _endpos_pat_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_367 _endpos_pat_ _startpos_pat_ e focus pat in
      _menhir_goto_patternBranch _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_pat_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0817 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | DOT_LPAREN ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0818 _menhir_initp
          | DOT_LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0818 _menhir_initp
          | DOT_LBRACK_BAR ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0818 _menhir_initp
          | DOT_LBRACK ->
              let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0818 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let MenhirCell1_DOT_LPAREN (_menhir_stack, _menhir_s, _startpos_op_, _endpos_op_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_, e) = ((), _endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_302 _endpos__3_ _endpos_op_ _startpos__3_ _startpos_op_ e op in
              _menhir_goto_nonempty_list_dotOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0894 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_quident _menhir_cell0_DOT_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell0_DOT_LPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_quident (_menhir_stack, _menhir_s, id, _startpos_id_, _endpos_id_) = _menhir_stack in
          let (_endpos__4_, _startpos__4_, t) = (_endpos_1, _startpos_0, _v) in
          let _v = _menhir_action_111 _endpos__4_ _endpos_id_ _startpos__4_ _startpos_id_ id t in
          _menhir_goto_atomicTermQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__4_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_atomicTermQUident : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0143 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0899 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0899 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0899 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0899 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0143 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_094 x in
      _menhir_goto_atomicTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0899 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_OPPREFIX -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_324 _endpos_e_ _endpos_op_ _startpos_e_ _startpos_op_ e op in
      let (_endpos, _startpos) = (_endpos_e_, _startpos_op_) in
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_095 x in
      _menhir_goto_atomicTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0921 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_HASH _menhir_cell0_LBRACK -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_584 _endpos_t_ _startpos_t_ t in
      match (_tok : MenhirBasics.token) with
      | RBRACK ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell0_LBRACK (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_HASH (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
          let t = _v in
          let _v = _menhir_action_020 t in
          _menhir_goto_aqual _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0962 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_FUN, ttv_result) _menhir_cell1_nonempty_list_genBinder_ _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _, pats, _, _) = _menhir_stack in
      let MenhirCell1_FUN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_314 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e pats in
      _menhir_goto_onlyTrailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0970 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET, ttv_result) _menhir_cell1_OPEN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | IN ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_IN (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0971 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0972 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LET, ttv_result) _menhir_cell1_OPEN, ttv_result) _menhir_cell1_term _menhir_cell0_IN -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_IN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, t, _startpos_t_, _endpos_t_) = _menhir_stack in
      let MenhirCell1_OPEN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_LET (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_273 _endpos__1_ _endpos_e_ _endpos_t_ _startpos__1_ _startpos_e_ _startpos_t_ e t in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0977 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LET, ttv_result) _menhir_cell1_localletqualifier, ttv_result) _menhir_cell1_letbinding, ttv_result) _menhir_cell1_list_attr_letbinding_ _menhir_cell0_IN -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_IN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_list_attr_letbinding_ (_menhir_stack, _, lbs) = _menhir_stack in
      let MenhirCell1_letbinding (_menhir_stack, _, lb, _startpos_lb_, _endpos_lb_) = _menhir_stack in
      let MenhirCell1_localletqualifier (_menhir_stack, _, q, _startpos_q_, _endpos_q_) = _menhir_stack in
      let MenhirCell1_LET (_menhir_stack, _menhir_s, _startpos__2_, _) = _menhir_stack in
      _menhir_act_goto_274 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _tok _menhir_initp _startpos__2_ _endpos _v _endpos_q_ _startpos_q_ q lbs _endpos_lb_ _startpos_lb_ lb
  
  and _menhir_act_goto_274 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _tok _menhir_initp _startpos__2_ _endpos_e_ e _endpos_q_ _startpos_q_ q lbs _endpos_lb_ _startpos_lb_ lb ->
      match _menhir_s with
      | MenhirState0318 ->
          let MenhirCell1_ASSERT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0389 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          let MenhirCell1_TRY (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          let MenhirCell1_BEGIN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          let MenhirCell1_OPEN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          let MenhirCell0_LBRACK (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          let MenhirCell0_DOT_LPAREN (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          let MenhirCell1_DOT_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          let MenhirCell0_RBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          let MenhirCell1_matchMaybeOp (_, _, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          let MenhirCell0_SEMICOLON_OP (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          let MenhirCell1_DOT_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          let MenhirCell1_DOT_LENS_PAREN_LEFT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          let MenhirCell1_DOT_LBRACK_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          let MenhirCell1_DOT_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          let MenhirCell1_DOT_LENS_PAREN_LEFT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          let MenhirCell1_DOT_LBRACK_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          let MenhirCell1_DOT_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          let MenhirCell0_RBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          let MenhirCell1_EQUALS (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          let MenhirCell0_LBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          let MenhirCell0_RBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          let MenhirCell0_RBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          let MenhirCell1_maybeFocusArrow (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          let MenhirCell1_maybeFocusArrow (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          let MenhirCell0_RARROW (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          let MenhirCell0_IN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          let MenhirCell1_LPAREN (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          let MenhirCell0_PRAGMA_EVAL (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          let MenhirCell0_PRAGMA_CHECK (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          let _endpos__0_ = _menhir_initp in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0410 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          let MenhirCell0_LONG_LEFT_ARROW (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0415 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          let MenhirCell1_ifMaybeOp (_, _, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0419 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          let MenhirCell0_THEN (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0422 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          let MenhirCell0_ELSE (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0424 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0498 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0499 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0516 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0517 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0521 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0522 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0526 ->
          let MenhirCell1_LARROW (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0527 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0317 ->
          let MenhirCell1_ASSUME (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0701 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | MenhirState0312 ->
          let MenhirCell0_LBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0702 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          let MenhirCell0_RBRACE (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0716 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0309 ->
          let MenhirCell1_LBRACE_COLON_WELL_FOUNDED (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0720 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0304 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0725 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0734 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0736 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0740 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0745 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0746 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0750 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0754 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0758 ->
          let MenhirCell0_RETURNS (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0759 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0763 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0767 ->
          let MenhirCell1_WITH (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0768 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0300 ->
          let MenhirCell1_LBRACE (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0769 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0282 ->
          let MenhirCell0_EQUALS (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0774 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | MenhirState0862 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0863 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          let MenhirCell0_WITH (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0865 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0868 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0869 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          let MenhirCell0_AND (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0873 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0878 ->
          let MenhirCell0_NAME (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0879 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0883 ->
          let MenhirCell0_WITH (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0884 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          let MenhirCell0_AND (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0886 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0892 ->
          let MenhirCell0_DOT (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0893 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _tok _menhir_initp
      | MenhirState0014 ->
          let MenhirCell1_LBRACK_AT_AT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          let MenhirCell1_SEQ_BANG_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          let MenhirCell1_PERCENT_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          let MenhirCell1_LBRACK (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          let MenhirCell1_LBRACK_AT_AT_AT (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          let MenhirCell0_SEMICOLON (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_0980 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__2_ _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          let MenhirCell0_COLON (_, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_274 _endpos__0_ _endpos_e_ _endpos_lb_ _endpos_q_ _startpos_lb_ _startpos_q_ e lb lbs q in
          _menhir_run_1034 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0415 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_lidentOrUnderscore _menhir_cell0_LONG_LEFT_ARROW as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0416 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0419 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ifMaybeOp as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | AS ->
          _menhir_run_0395 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0419 _menhir_initp
      | RETURNS ->
          let _menhir_s = MenhirState0419 in
          let _v = _menhir_action_345 () in
          _menhir_goto_option___anonymous_8_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS_EQ ->
          let _menhir_s = MenhirState0419 in
          let _v = _menhir_action_347 () in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | THEN ->
          let _v_2 = _menhir_action_355 () in
          _menhir_run_0420 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0419 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0420 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_ifMaybeOp, ttv_result) _menhir_cell1_noSeqTerm as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_option_match_returning_ (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | THEN ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_THEN (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0421 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0422 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ifMaybeOp, ttv_result) _menhir_cell1_noSeqTerm, ttv_result) _menhir_cell1_option_match_returning_ _menhir_cell0_THEN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | ELSE ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_ELSE (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0423 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_THEN (_menhir_stack, _) = _menhir_stack in
          let MenhirCell1_option_match_returning_ (_menhir_stack, _, ret_opt) = _menhir_stack in
          let MenhirCell1_noSeqTerm (_menhir_stack, _, e1, _, _) = _menhir_stack in
          let MenhirCell1_ifMaybeOp (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_270 _endpos_e2_ _endpos_op_ _startpos_e2_ _startpos_op_ e1 e2 op ret_opt in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_op_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0424 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ifMaybeOp, ttv_result) _menhir_cell1_noSeqTerm, ttv_result) _menhir_cell1_option_match_returning_ _menhir_cell0_THEN, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_ELSE -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_ELSE (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, e2, _, _) = _menhir_stack in
      let MenhirCell0_THEN (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option_match_returning_ (_menhir_stack, _, ret_opt) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, e1, _, _) = _menhir_stack in
      let MenhirCell1_ifMaybeOp (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e3_, _startpos_e3_, e3) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_269 _endpos_e3_ _endpos_op_ _startpos_e3_ _startpos_op_ e1 e2 e3 op ret_opt in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e3_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0499 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident, ttv_result) _menhir_cell1_DOT_LPAREN, ttv_result) _menhir_cell1_term _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_LARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_LARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _startpos__3_inlined1_, _endpos__3_inlined1_) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_DOT_LPAREN (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (op, _endpos_e3_, _startpos_e3_, e3) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_260 _endpos__3_inlined1_ _endpos_e1_ _endpos_e3_ _endpos_op_ _startpos__3_inlined1_ _startpos_e1_ _startpos_e3_ _startpos_op_ e e1 e3 op in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e3_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0517 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident, ttv_result) _menhir_cell1_DOT_LENS_PAREN_LEFT, ttv_result) _menhir_cell1_term _menhir_cell0_LENS_PAREN_RIGHT, ttv_result) _menhir_cell1_LARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_LARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_LENS_PAREN_RIGHT (_menhir_stack, _startpos__3_inlined1_, _endpos__3_inlined1_) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_DOT_LENS_PAREN_LEFT (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (op, _endpos_e3_, _startpos_e3_, e3) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_263 _endpos__3_inlined1_ _endpos_e1_ _endpos_e3_ _endpos_op_ _startpos__3_inlined1_ _startpos_e1_ _startpos_e3_ _startpos_op_ e e1 e3 op in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e3_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0522 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident, ttv_result) _menhir_cell1_DOT_LBRACK_BAR, ttv_result) _menhir_cell1_term _menhir_cell0_BAR_RBRACK, ttv_result) _menhir_cell1_LARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_LARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_BAR_RBRACK (_menhir_stack, _startpos__3_inlined1_, _endpos__3_inlined1_) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_DOT_LBRACK_BAR (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (op, _endpos_e3_, _startpos_e3_, e3) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_262 _endpos__3_inlined1_ _endpos_e1_ _endpos_e3_ _endpos_op_ _startpos__3_inlined1_ _startpos_e1_ _startpos_e3_ _startpos_op_ e e1 e3 op in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e3_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0527 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_atomicTermNotQUident, ttv_result) _menhir_cell1_DOT_LBRACK, ttv_result) _menhir_cell1_term _menhir_cell0_RBRACK, ttv_result) _menhir_cell1_LARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_LARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_RBRACK (_menhir_stack, _startpos__3_inlined1_, _endpos__3_inlined1_) = _menhir_stack in
      let MenhirCell1_term (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_DOT_LBRACK (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (op, _endpos_e3_, _startpos_e3_, e3) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_261 _endpos__3_inlined1_ _endpos_e1_ _endpos_e3_ _endpos_op_ _startpos__3_inlined1_ _startpos_e1_ _startpos_e3_ _startpos_op_ e e1 e3 op in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e3_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0701 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_ASSUME -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_ASSUME (_menhir_stack, _menhir_s, _startpos_a_, _endpos_a_) = _menhir_stack in
      let (_endpos_e_, e, a) = (_endpos, _v, ()) in
      let _v = _menhir_action_278 _endpos_a_ _endpos_e_ _startpos_a_ a e in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_a_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0702 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_CALC, ttv_result) _menhir_cell1_atomicTerm _menhir_cell0_LBRACE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0703 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0703 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0703 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0703 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0703 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0703 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0703 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_8 ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0703 _menhir_initp
          | OP_MIXFIX_ACCESS _v_9 ->
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0703 _menhir_initp
          | OPPREFIX _v_10 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0703 _menhir_initp
          | OPINFIX4 _v_11 ->
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0703 _menhir_initp
          | OPINFIX3R _v_12 ->
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0703 _menhir_initp
          | OPINFIX3L _v_13 ->
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0703 _menhir_initp
          | OPINFIX2 _v_14 ->
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0703 _menhir_initp
          | OPINFIX1 _v_15 ->
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0703 _menhir_initp
          | OPINFIX0d _v_16 ->
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0703 _menhir_initp
          | OPINFIX0c _v_17 ->
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0703 _menhir_initp
          | OPINFIX0b _v_18 ->
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0703 _menhir_initp
          | OPINFIX0a _v_19 ->
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0703 _menhir_initp
          | NAME _v_20 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0703 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | INT8 _v_21 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0703 _menhir_initp
          | INT64 _v_22 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0703 _menhir_initp
          | INT32 _v_23 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0703 _menhir_initp
          | INT16 _v_24 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0703 _menhir_initp
          | INT _v_25 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0703 _menhir_initp
          | IMPLIES ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | IFF ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | IDENT _v_26 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0703 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | EQUALS ->
              _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | DISJUNCTION ->
              _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | CONJUNCTION ->
              _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | COLON_EQUALS ->
              _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | COLON_COLON ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | CHAR _v_27 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState0703 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | BACKTICK ->
              _menhir_run_0704 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0703 _menhir_initp
          | RBRACE ->
              let _v_28 = _menhir_action_229 () in
              _menhir_run_0707 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0704 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_BACKTICK (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState0704 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0707 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_CALC, ttv_result) _menhir_cell1_atomicTerm _menhir_cell0_LBRACE, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, init, _, _) = _menhir_stack in
      let MenhirCell0_LBRACE (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_atomicTerm (_menhir_stack, _, rel, _, _) = _menhir_stack in
      let MenhirCell1_CALC (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos__7_, _startpos__7_, steps) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_283 _endpos__1_ _endpos__7_ _startpos__1_ _startpos__7_ init rel steps in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__7_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0716 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_calcRel _menhir_cell0_LBRACE, ttv_result) _menhir_cell1_option_term_ _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell0_RBRACE (_menhir_stack, _startpos__4_, _endpos__4_) = _menhir_stack in
          let MenhirCell1_option_term_ (_menhir_stack, _, justif) = _menhir_stack in
          let MenhirCell0_LBRACE (_menhir_stack, _startpos__2_, _endpos__2_) = _menhir_stack in
          let MenhirCell1_calcRel (_menhir_stack, _menhir_s, rel) = _menhir_stack in
          let next = _v in
          let _v = _menhir_action_145 _endpos__2_ _endpos__4_ _startpos__2_ _startpos__4_ justif next rel in
          let _menhir_stack = MenhirCell1_calcStep (_menhir_stack, _menhir_s, _v) in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0709 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0709 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0709 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0709 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | STRING _v_4 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0709 _menhir_initp
          | SIZET _v_5 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0709 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | REAL _v_6 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0709 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | OP_MIXFIX_ASSIGNMENT _v_7 ->
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0709 _menhir_initp
          | OP_MIXFIX_ACCESS _v_8 ->
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0709 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0709 _menhir_initp
          | OPINFIX4 _v_10 ->
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0709 _menhir_initp
          | OPINFIX3R _v_11 ->
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0709 _menhir_initp
          | OPINFIX3L _v_12 ->
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0709 _menhir_initp
          | OPINFIX2 _v_13 ->
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0709 _menhir_initp
          | OPINFIX1 _v_14 ->
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0709 _menhir_initp
          | OPINFIX0d _v_15 ->
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0709 _menhir_initp
          | OPINFIX0c _v_16 ->
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0709 _menhir_initp
          | OPINFIX0b _v_17 ->
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0709 _menhir_initp
          | OPINFIX0a _v_18 ->
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0709 _menhir_initp
          | NAME _v_19 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0709 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | INT8 _v_20 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0709 _menhir_initp
          | INT64 _v_21 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0709 _menhir_initp
          | INT32 _v_22 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0709 _menhir_initp
          | INT16 _v_23 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState0709 _menhir_initp
          | INT _v_24 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState0709 _menhir_initp
          | IMPLIES ->
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | IFF ->
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | IDENT _v_25 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState0709 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | EQUALS ->
              _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | DISJUNCTION ->
              _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | CONJUNCTION ->
              _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | COLON_EQUALS ->
              _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | COLON_COLON ->
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | CHAR _v_26 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState0709 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | BACKTICK ->
              _menhir_run_0704 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0709 _menhir_initp
          | RBRACE ->
              let _v_27 = _menhir_action_229 () in
              _menhir_run_0710 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0710 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_calcStep -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_calcStep (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_230 x xs in
      _menhir_goto_list_calcStep_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_list_calcStep_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0703 ->
          _menhir_run_0707 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0710 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0720 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DECREASES, ttv_result) _menhir_cell1_LBRACE_COLON_WELL_FOUNDED -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RBRACE ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LBRACE_COLON_WELL_FOUNDED (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_DECREASES (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (_endpos__4_, _startpos__4_, _endpos_t_, _startpos_t_, t) = (_endpos_1, _startpos_0, _endpos, _startpos, _v) in
          let _v = _menhir_action_267 _endpos__1_ _endpos__4_ _endpos_t_ _startpos__1_ _startpos__4_ _startpos_t_ t in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__4_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0725 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0726 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0726 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0726 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0726 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0726 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0726 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0726 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0726 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0726 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0726 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0726 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0726 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0726 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0726 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0726 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | CHAR _v_16 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0726 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0726 _menhir_initp
          | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
              let _v_17 = _menhir_action_225 () in
              _menhir_run_0727 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_17 _tok _menhir_initp
          | _ ->
              _eRR ())
      | SEMICOLON_OP _v_18 ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0411 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 _menhir_initp
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0699 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | BACKTICK | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EQUALS | IMPLIES | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | RARROW ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_579 e in
          _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0727 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, xs, _, _) = _menhir_stack in
      let MenhirCell1_FORALL (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_ELIM (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_vs_, _startpos_vs_, vs) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_289 _endpos__1_ _endpos_vs_ _startpos__1_ _startpos_vs_ p vs xs in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_vs_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0734 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON_OP _v_0 ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0411 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0699 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | RETURNS ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RETURNS (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0735 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | BACKTICK | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EQUALS | IMPLIES | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | RARROW ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_579 e in
          _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0736 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_RETURNS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0737 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0737 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0737 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0740 : type  ttv_stack ttv_result. ((((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_RETURNS, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, ttv_result) _menhir_cell1_singleBinder _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_singleBinder (_menhir_stack, _, y) = _menhir_stack in
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, q, _, _) = _menhir_stack in
      let MenhirCell0_RETURNS (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_ELIM (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_290 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ bs e p q y in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0746 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0747 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0747 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0747 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0747 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0747 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0747 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0747 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0747 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0747 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0750 : type  ttv_stack ttv_result. (((((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, ttv_result) _menhir_cell1_singleBinder _menhir_cell0_DOT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | AND ->
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_AND (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0751 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0751 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0751 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0751 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0751 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0751 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0751 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0751 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0751 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0754 : type  ttv_stack ttv_result. ((((((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_RETURNS, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, ttv_result) _menhir_cell1_singleBinder _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_AND, ttv_result) _menhir_cell1_singleBinder _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_singleBinder (_menhir_stack, _, y) = _menhir_stack in
      let MenhirCell0_AND (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, e1, _, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_singleBinder (_menhir_stack, _, x) = _menhir_stack in
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, r, _, _) = _menhir_stack in
      let MenhirCell0_RETURNS (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmConjunction (_menhir_stack, _, q, _, _) = _menhir_stack in
      let MenhirCell1_DISJUNCTION (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell1_ELIM (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_292 _endpos__1_ _endpos_e2_ _startpos__1_ _startpos_e2_ e1 e2 p q r x y in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0759 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, ttv_result) _menhir_cell1_tmTuple _menhir_cell0_RETURNS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0760 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0760 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0760 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0760 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0760 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0760 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0760 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0760 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0760 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0763 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, ttv_result) _menhir_cell1_tmTuple _menhir_cell0_RETURNS, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, xs, _, _) = _menhir_stack in
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, r, _, _) = _menhir_stack in
      let MenhirCell0_RETURNS (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmTuple (_menhir_stack, _, q, _, _) = _menhir_stack in
      let MenhirCell0_CONJUNCTION (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmConjunction (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell1_ELIM (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_293 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e p q r xs in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0768 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_WITH -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_WITH (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, q, _, _) = _menhir_stack in
      let MenhirCell0_IMPLIES (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmArrow_tmFormula_ (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell1_ELIM (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_291 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e p q in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0769 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACE -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RBRACE ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos__3_, e) = (_endpos_1, _v) in
          let _v = _menhir_action_336 e in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0774 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_qlidentOrOperator _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_qlidentOrOperator (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_y_, y) = (_endpos, _v) in
      let _v = _menhir_action_544 x y in
      _menhir_goto_simpleDef _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_y_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0863 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0864 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | SEMICOLON_OP _v_23 ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0411 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 _menhir_initp
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0699 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | BACKTICK | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EQUALS | IMPLIES | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | RARROW ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_579 e in
          _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0865 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_FORALL, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_FORALL (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_INTRO (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_284 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ bs e p in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0869 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0870 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0870 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0870 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0870 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0870 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0870 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0870 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0870 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0870 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0870 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0870 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0870 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0870 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0870 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0870 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | CHAR _v_16 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0870 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0870 _menhir_initp
          | AND ->
              let _v_17 = _menhir_action_225 () in
              _menhir_run_0871 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_17 MenhirState0870 _tok _menhir_initp
          | _ ->
              _eRR ())
      | SEMICOLON_OP _v_18 ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0411 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 _menhir_initp
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0699 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | BACKTICK | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EQUALS | IMPLIES | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | RARROW ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_579 e in
          _menhir_goto_term _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0871 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_list_atomicTerm_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | AND ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_AND (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0872 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0873 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_EXISTS, ttv_result) _menhir_cell1_binders _menhir_cell0_DOT, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_WITH, ttv_result) _menhir_cell1_list_atomicTerm_ _menhir_cell0_AND -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_AND (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_list_atomicTerm_ (_menhir_stack, _, vs, _startpos_vs_, _endpos_vs_) = _menhir_stack in
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_INTRO (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_285 _endpos__1_ _endpos_e_ _endpos_vs_ _startpos__1_ _startpos_e_ _startpos_vs_ bs e p vs in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0879 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_WITH _menhir_cell0_NAME -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_NAME (_menhir_stack, lr, _startpos_lr_, _endpos_lr_) = _menhir_stack in
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmConjunction (_menhir_stack, _, q, _, _) = _menhir_stack in
      let MenhirCell1_DISJUNCTION (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell1_INTRO (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_287 _endpos__1_ _endpos_e_ _endpos_lr_ _startpos__1_ _startpos_e_ _startpos_lr_ e lr p q in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0884 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, ttv_result) _menhir_cell1_tmTuple _menhir_cell0_WITH as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | AND ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_AND (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0885 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0886 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION, ttv_result) _menhir_cell1_tmTuple _menhir_cell0_WITH, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_AND -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_AND (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, e1, _, _) = _menhir_stack in
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmTuple (_menhir_stack, _, q, _, _) = _menhir_stack in
      let MenhirCell0_CONJUNCTION (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmConjunction (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell1_INTRO (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_288 _endpos__1_ _endpos_e2_ _startpos__1_ _startpos_e2_ e1 e2 p q in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0893 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_WITH, ttv_result) _menhir_cell1_singleBinder _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_singleBinder (_menhir_stack, _, y) = _menhir_stack in
      let MenhirCell1_WITH (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, q, _, _) = _menhir_stack in
      let MenhirCell0_IMPLIES (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tmArrow_tmFormula_ (_menhir_stack, _, p, _, _) = _menhir_stack in
      let MenhirCell1_INTRO (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_286 _endpos__1_ _endpos_e_ _startpos__1_ _startpos_e_ e p q y in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0980 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0981 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0981 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0981 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0981 _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | TILDE _v_5 ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0981 _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0981 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0981 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0981 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0981 _menhir_initp
          | NAME _v_10 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0981 _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | MATCH_OP _v_11 ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0981 _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LET_OP _v_12 ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0981 _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | INT8 _v_13 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0981 _menhir_initp
          | INT64 _v_14 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0981 _menhir_initp
          | INT32 _v_15 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0981 _menhir_initp
          | INT16 _v_16 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0981 _menhir_initp
          | INT _v_17 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0981 _menhir_initp
          | IF_OP _v_18 ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState0981 _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | IDENT _v_19 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_19 MenhirState0981 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | FORALL_OP _v_20 ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_20 MenhirState0981 _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | EXISTS_OP _v_21 ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_21 MenhirState0981 _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | CHAR _v_22 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState0981 _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0981 _menhir_initp
          | RBRACK ->
              let _v_23 = _menhir_action_501 () in
              _menhir_run_0982 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_502 x in
          _menhir_goto_right_flexible_list_SEMICOLON_noSeqTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0982 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_noSeqTerm _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_noSeqTerm (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_503 x xs in
      _menhir_goto_right_flexible_list_SEMICOLON_noSeqTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_SEMICOLON_noSeqTerm_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0086 ->
          _menhir_run_0978 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0982 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0045 ->
          _menhir_run_1005 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0032 ->
          _menhir_run_1017 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0026 ->
          _menhir_run_1022 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0014 ->
          _menhir_run_1026 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1026 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACK_AT_AT -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACK_AT_AT (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let l = _v in
      let _v = _menhir_action_119 l in
      _menhir_goto_attribute _menhir_stack _menhir_lexbuf _menhir_lexer _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1034 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ASSUME, ttv_result) _menhir_cell1_uident _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_uident (_menhir_stack, _, lid, _, _) = _menhir_stack in
      let MenhirCell1_ASSUME (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_176 _endpos_e_ _startpos__1_ e lid in
      _menhir_goto_decl _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0987 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BEGIN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | END ->
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_BEGIN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos__3_, e) = (_endpos_0, _v) in
          let _v = _menhir_action_109 e in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1019 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_TRY as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_term (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1020 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOT_DOT ->
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BAR ->
              _menhir_run_0191 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1273 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_EVAL -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_PRAGMA_EVAL (_menhir_stack, _startpos__1_, _) = _menhir_stack in
      let (_endpos_t_, t) = (_endpos, _v) in
      let _v = _menhir_action_379 t in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_goto_pragma : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let (_endpos_p_, _startpos_p_, p) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_424 p in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_p_ _startpos_p_ _v _tok _menhir_initp
  
  and _menhir_run_1275 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_CHECK -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_PRAGMA_CHECK (_menhir_stack, _startpos__1_, _) = _menhir_stack in
      let (_endpos_t_, t) = (_endpos, _v) in
      let _v = _menhir_action_378 t in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0382 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmIff as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_586 _endpos_t_ _startpos_t_ t in
      _menhir_goto_thunk_typ_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos_t_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_thunk_typ_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmIff as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0381 ->
          _menhir_run_0384 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0388 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0384 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmIff, ttv_result) _menhir_cell1_tmIff -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_tmIff (_menhir_stack, _, t, _, _) = _menhir_stack in
      let MenhirCell1_tmIff (_menhir_stack, _menhir_s, e, _startpos_e_, _endpos_e_) = _menhir_stack in
      let (_endpos_tactic_, _startpos_tactic_, tactic) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_257 _endpos_e_ _endpos_tactic_ _startpos_e_ _startpos_tactic_ e t tactic in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tactic_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0388 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmIff, ttv_result) _menhir_cell1_tmIff -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_tmIff (_menhir_stack, _, t, _, _) = _menhir_stack in
      let MenhirCell1_tmIff (_menhir_stack, _menhir_s, e, _startpos_e_, _endpos_e_) = _menhir_stack in
      let (_endpos_tactic_, _startpos_tactic_, tactic) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_259 _endpos_e_ _endpos_tactic_ _startpos_e_ _startpos_tactic_ e t tactic in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tactic_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0391 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ASSERT, ttv_result) _menhir_cell1_noSeqTerm -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_587 _endpos_t_ _startpos_t_ t in
      let _endpos = _endpos_t_ in
      let MenhirCell1_noSeqTerm (_menhir_stack, _, e, _, _) = _menhir_stack in
      let MenhirCell1_ASSERT (_menhir_stack, _menhir_s, _startpos_a_, _endpos_a_) = _menhir_stack in
      let (a, _endpos_tactic_, tactic) = ((), _endpos, _v) in
      let _v = _menhir_action_280 _endpos_a_ _endpos_tactic_ _startpos_a_ a e tactic in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tactic_ _startpos_a_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0722 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_DECREASES -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_DECREASES (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_266 _endpos__1_ _endpos_t_ _startpos__1_ _startpos_t_ t in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0773 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_ENSURES -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_ENSURES (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_265 _endpos__1_ _endpos_t_ _startpos__1_ _startpos_t_ t in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1004 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_REQUIRES -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_REQUIRES (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_264 _endpos__1_ _endpos_t_ _startpos__1_ _startpos_t_ t in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1043 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_TILDE (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_439 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1048 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_OPPREFIX (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_437 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1053 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_MINUS (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (op, _endpos_t_, _startpos_t_, t) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_440 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1058 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_LET_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_442 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1063 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_FORALL_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_444 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1068 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_443 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1073 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_AND_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_441 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1078 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binop_name (_menhir_stack, _, op, _, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_438 _endpos_bs_ _endpos_t_ _startpos_bs_ _startpos_t_ bs op t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1082 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_lident, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell1_lident (_menhir_stack, _, id, _, _) = _menhir_stack in
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_436 _endpos_bs_ _endpos_t_ _startpos_bs_ _startpos_t_ bs id t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1161 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lidentOrOperator_ _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_aqualifiedWithAttrs_lidentOrOperator_ (_menhir_stack, _menhir_s, qualified_lid) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_457 qualified_lid t in
      _menhir_goto_recordFieldDecl _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_recordFieldDecl : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1096 ->
          _menhir_run_1116 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1205 ->
          _menhir_run_1116 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_1116 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1117 ->
          _menhir_run_1136 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1137 ->
          _menhir_run_1136 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1116 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_recordFieldDecl (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LPAREN ->
              _menhir_run_1118 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1117 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1117 _menhir_initp
          | IDENT _v_0 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1117 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1117 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1117 _menhir_initp
          | RBRACE ->
              let _v_1 = _menhir_action_504 () in
              _menhir_run_1135 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_517 x in
          _menhir_goto_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1118 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | TILDE _v ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_endpos_op_, _startpos_op_, op) = (_endpos_1, _startpos_0, _v) in
              let _v = _menhir_action_061 _endpos_op_ _startpos_op_ op in
              _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | OP_MIXFIX_ASSIGNMENT _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPPREFIX _v ->
          let _startpos_4 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_5 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_endpos_op_, _startpos_op_, op) = (_endpos_5, _startpos_4, _v) in
              let _v = _menhir_action_059 _endpos_op_ _startpos_op_ op in
              _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPINFIX3R _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPINFIX3L _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPINFIX2 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPINFIX1 _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPINFIX0d _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPINFIX0c _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPINFIX0b _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | OPINFIX0a _v ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1118 _menhir_initp
      | MINUS ->
          let _startpos_8 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_9 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_endpos_op_, _startpos_op_, op) = (_endpos_9, _startpos_8, ()) in
              let _v = _menhir_action_062 _endpos_op_ _startpos_op_ op in
              _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | LET_OP _v ->
          let _startpos_12 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_13 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_endpos_op_, _startpos_op_, op) = (_endpos_13, _startpos_12, _v) in
              let _v = _menhir_action_064 _endpos_op_ _startpos_op_ op in
              _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | IMPLIES ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1118 _menhir_initp
      | IFF ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1118 _menhir_initp
      | FORALL_OP _v ->
          let _startpos_16 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_17 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_endpos_op_, _startpos_op_, op) = (_endpos_17, _startpos_16, _v) in
              let _v = _menhir_action_066 _endpos_op_ _startpos_op_ op in
              _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | EXISTS_OP _v ->
          let _startpos_20 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_21 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_endpos_op_, _startpos_op_, op) = (_endpos_21, _startpos_20, _v) in
              let _v = _menhir_action_065 _endpos_op_ _startpos_op_ op in
              _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1118 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1118 _menhir_initp
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1118 _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1118 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1118 _menhir_initp
      | AND_OP _v ->
          let _startpos_24 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_25 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _tok = _menhir_lexer _menhir_lexbuf in
              let (_endpos_op_, _startpos_op_, op) = (_endpos_25, _startpos_24, _v) in
              let _v = _menhir_action_063 _endpos_op_ _startpos_op_ op in
              _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1135 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_recordFieldDecl _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_recordFieldDecl (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_518 x xs in
      _menhir_goto_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState1096 ->
          _menhir_run_1114 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1205 ->
          _menhir_run_1206 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState1223 ->
          _menhir_run_1224 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1114 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS, ttv_result) _menhir_cell1_LBRACE -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let (_endpos__3_, record_field_decls) = (_endpos, _v) in
      let _v = _menhir_action_685 record_field_decls in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _tok _menhir_initp
  
  and _menhir_run_1206 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACE (_menhir_stack, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1208 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND | ASSUME | BAR | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v = _menhir_action_339 () in
          _menhir_goto_option___anonymous_3_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_3_ : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ _menhir_cell0_RBRACE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACE (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ (_menhir_stack, _, record_field_decls) = _menhir_stack in
      let MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let opt = _v in
      let _v = _menhir_action_175 opt record_field_decls in
      _menhir_goto_constructorPayload _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_constructorPayload : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_uident as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let x = _v in
      let _v = _menhir_action_354 x in
      _menhir_goto_option_constructorPayload_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_option_constructorPayload_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_uident as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1202 ->
          _menhir_run_1213 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1216 ->
          _menhir_run_1217 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1213 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_BAR, ttv_result) _menhir_cell1_uident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_uident (_menhir_stack, _, uid, _, _) = _menhir_stack in
      let MenhirCell1_BAR (_menhir_stack, _menhir_s, _) = _menhir_stack in
      let payload = _v in
      let _v = _menhir_action_168 payload uid in
      _menhir_goto_constructorDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_constructorDecl : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_constructorDecl (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | BAR ->
          _menhir_run_1201 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1220 _menhir_initp
      | AND | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v_0 = _menhir_action_231 () in
          _menhir_run_1221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1221 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_constructorDecl -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_constructorDecl (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_232 x xs in
      _menhir_goto_list_constructorDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list_constructorDecl_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1095 ->
          _menhir_run_1219 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1220 ->
          _menhir_run_1221 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1217 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_BAR, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_uident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_uident (_menhir_stack, _, uid, _, _) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _, x, _) = _menhir_stack in
      let MenhirCell1_BAR (_menhir_stack, _menhir_s, _) = _menhir_stack in
      let payload = _v in
      let _v = _menhir_action_169 payload uid x in
      _menhir_goto_constructorDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1224 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_LBRACE -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _, x, _) = _menhir_stack in
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let (_endpos__3_, record_field_decls) = (_endpos, _v) in
      let _v = _menhir_action_686 record_field_decls x in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _tok _menhir_initp
  
  and _menhir_run_1136 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_recordFieldDecl _menhir_cell0_SEMICOLON as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_recordFieldDecl (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LPAREN ->
              _menhir_run_1118 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1137 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1137 _menhir_initp
          | IDENT _v_0 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1137 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1137 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1137 _menhir_initp
          | RBRACE ->
              let _v_1 = _menhir_action_504 () in
              _menhir_run_1138 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_505 x in
          _menhir_goto_right_flexible_list_SEMICOLON_recordFieldDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1138 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_recordFieldDecl _menhir_cell0_SEMICOLON, ttv_result) _menhir_cell1_recordFieldDecl _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_recordFieldDecl (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_506 x xs in
      _menhir_goto_right_flexible_list_SEMICOLON_recordFieldDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_SEMICOLON_recordFieldDecl_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_recordFieldDecl _menhir_cell0_SEMICOLON as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState1117 ->
          _menhir_run_1135 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1137 ->
          _menhir_run_1138 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1204 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_OF -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_OF (_menhir_stack, _menhir_s) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_174 t in
      _menhir_goto_constructorPayload _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1209 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_ _menhir_cell0_RBRACE _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_340 t in
      _menhir_goto_option___anonymous_3_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
  
  and _menhir_run_1212 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_COLON (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_173 t in
      _menhir_goto_constructorPayload _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1218 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_typars _menhir_cell0_option_ascribeKind_ _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let (_endpos_t_, t) = (_endpos, _v) in
      let _v = _menhir_action_684 t in
      _menhir_goto_typeDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _v _tok _menhir_initp
  
  and _menhir_run_1411 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_TILDE (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_695 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1416 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_OPPREFIX (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_693 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1421 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_MINUS (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (op, _endpos_t_, _startpos_t_, t) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_696 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1426 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_LET_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_698 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1431 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_FORALL_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_700 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1436 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_699 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1441 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_AND_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_697 _endpos_bs_ _endpos_op_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_op_ _startpos_t_ bs op t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1446 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binop_name (_menhir_stack, _, op, _, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_694 _endpos_bs_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_t_ bs op t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1450 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_lident, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _startpos_bs_, _endpos_bs_) = _menhir_stack in
      let MenhirCell1_lident (_menhir_stack, _, id, _, _) = _menhir_stack in
      let MenhirCell1_VAL (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_INSTANCE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_692 _endpos_bs_ _endpos_t_ _startpos__1_ _startpos_bs_ _startpos_t_ bs id t in
      _menhir_goto_typeclassDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1461 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EXCEPTION, ttv_result) _menhir_cell1_uident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let (_endpos_t_, t) = (_endpos, _v) in
      let _v = _menhir_action_338 t in
      _menhir_goto_option___anonymous_2_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _v _tok _menhir_initp
  
  and _menhir_goto_option___anonymous_2_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EXCEPTION, ttv_result) _menhir_cell1_uident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_uident (_menhir_stack, _, lid, _, _) = _menhir_stack in
      let MenhirCell0_EXCEPTION (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_opt_, t_opt) = (_endpos, _v) in
      let _v = _menhir_action_447 lid t_opt in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_opt_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1473 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_typars _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_typars (_menhir_stack, _, tparams) = _menhir_stack in
      let MenhirCell1_uident (_menhir_stack, _, uid, _, _) = _menhir_stack in
      let MenhirCell0_EFFECT (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, t) = (_endpos, _v) in
      let _v = _menhir_action_433 t tparams uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0380 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmIff as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BY ->
          let _menhir_stack = MenhirCell1_tmIff (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0381 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell1_tmIff (_menhir_stack, _menhir_s, e, _startpos_e_, _endpos_e_) = _menhir_stack in
          let (_endpos_t_, t) = (_endpos, _v) in
          let _v = _menhir_action_256 _endpos_e_ _startpos_e_ e t in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0383 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_680 e in
      _menhir_goto_typ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0386 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmIff as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BY ->
          let _menhir_stack = MenhirCell1_tmIff (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0387 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell1_tmIff (_menhir_stack, _menhir_s, e, _startpos_e_, _endpos_e_) = _menhir_stack in
          let (_endpos_t_, t) = (_endpos, _v) in
          let _v = _menhir_action_258 _endpos_e_ _endpos_t_ _startpos_e_ e t in
          _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0405 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_option___anonymous_9_ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_option___anonymous_9_ (_menhir_stack, _menhir_s, as_opt) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_245 as_opt t in
      _menhir_goto_match_returning _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_match_returning : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let x = _v in
      let _v = _menhir_action_356 x in
      _menhir_goto_option_match_returning_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_option_match_returning_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0394 ->
          _menhir_run_0397 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0419 ->
          _menhir_run_0420 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0408 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_option___anonymous_8_ _menhir_cell0_RETURNS -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell0_RETURNS (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_8_ (_menhir_stack, _menhir_s, as_opt) = _menhir_stack in
      let t = _v in
      let _v = _menhir_action_244 as_opt t in
      _menhir_goto_match_returning _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0562 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_term _menhir_cell0_hasSort -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell0_hasSort (_menhir_stack, x) = _menhir_stack in
      let e = _v in
      let _v = _menhir_action_358 e x in
      _menhir_goto_option_pair_hasSort_simpleTerm__ _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
  
  and _menhir_run_1238 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, ttv_result) _menhir_cell1_quident _menhir_cell0_SQUIGGLY_RARROW, ttv_result) _menhir_cell1_quident _menhir_cell0_LBRACE _menhir_cell0_IDENT _menhir_cell0_EQUALS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_tmIff (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | IDENT _v ->
              let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_IDENT (_menhir_stack, _v, _startpos, _endpos) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | EQUALS ->
                  let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
                  let _menhir_s = MenhirState1241 in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | UINT8 _v ->
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT64 _v ->
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT32 _v ->
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT16 _v ->
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | TRUE ->
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | TILDE _v ->
                      _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | STRING _v ->
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | SIZET _v ->
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | SET_RANGE_OF ->
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | SEQ_BANG_LBRACK ->
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | REIFY ->
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | REAL _v ->
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | RANGE_OF ->
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | QUOTE ->
                      _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | PERCENT_LBRACK ->
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | OPPREFIX _v ->
                      _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | NAME _v ->
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | MINUS ->
                      _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LPAREN_RPAREN ->
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LPAREN ->
                      _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LENS_PAREN_LEFT ->
                      _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACK ->
                      _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACE_BAR ->
                      _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACE ->
                      _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | INT8 _v ->
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT64 _v ->
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT32 _v ->
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT16 _v ->
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT _v ->
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | IDENT _v ->
                      _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | HASH ->
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FUN ->
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FORALL_OP _v ->
                      _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | FORALL ->
                      _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FALSE ->
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | EXISTS_OP _v ->
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | EXISTS ->
                      _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | DOLLAR ->
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | CHAR _v ->
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | BEGIN ->
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BANG_LBRACE ->
                      _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_PERC ->
                      _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_HASH ->
                      _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_AT ->
                      _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK ->
                      _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RBRACE ->
          let _endpos_26 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell0_IDENT (_menhir_stack, x, _, _) = _menhir_stack in
          let MenhirCell0_LBRACE (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_quident (_menhir_stack, _, tgt_eff, _, _) = _menhir_stack in
          let MenhirCell0_SQUIGGLY_RARROW (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_quident (_menhir_stack, _, src_eff, _startpos_src_eff_, _) = _menhir_stack in
          let (e, _endpos__7_) = (_v, _endpos_26) in
          let _v = _menhir_action_574 _endpos__7_ _startpos_src_eff_ e src_eff tgt_eff x in
          _menhir_goto_subEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__7_ _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_subEffect : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_SUB_EFFECT (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_se_, se) = (_endpos, _v) in
      let _v = _menhir_action_451 se in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_se_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1242 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, ttv_result) _menhir_cell1_quident _menhir_cell0_SQUIGGLY_RARROW, ttv_result) _menhir_cell1_quident _menhir_cell0_LBRACE _menhir_cell0_IDENT _menhir_cell0_EQUALS, ttv_result) _menhir_cell1_tmIff _menhir_cell0_SEMICOLON _menhir_cell0_IDENT _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RBRACE ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell0_IDENT (_menhir_stack, id, _, _) = _menhir_stack in
          let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
          let MenhirCell1_tmIff (_menhir_stack, _, e, _, _) = _menhir_stack in
          let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell0_IDENT (_menhir_stack, x, _, _) = _menhir_stack in
          let MenhirCell0_LBRACE (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_quident (_menhir_stack, _, tgt_eff, _, _) = _menhir_stack in
          let MenhirCell0_SQUIGGLY_RARROW (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_quident (_menhir_stack, _, src_eff, _startpos_src_eff_, _) = _menhir_stack in
          let (_endpos__7_, e_inlined1) = (_endpos_1, _v) in
          let _v = _menhir_action_575 _endpos__7_ _startpos_src_eff_ e e_inlined1 id src_eff tgt_eff x in
          _menhir_goto_subEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__7_ _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1246 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, ttv_result) _menhir_cell1_quident _menhir_cell0_SQUIGGLY_RARROW, ttv_result) _menhir_cell1_quident _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_quident (_menhir_stack, _, tgt_eff, _, _) = _menhir_stack in
      let MenhirCell0_SQUIGGLY_RARROW (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_quident (_menhir_stack, _, src_eff, _, _) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_573 e src_eff tgt_eff in
      _menhir_goto_subEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _tok _menhir_initp
  
  and _menhir_run_1281 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_SUBCOMP, ttv_result) _menhir_cell1_quident, ttv_result) _menhir_cell1_quident _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_quident (_menhir_stack, _, n_eff, _, _) = _menhir_stack in
      let MenhirCell1_quident (_menhir_stack, _, m_eff, _, _) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_370 e m_eff n_eff in
      let _endpos = _endpos_e_ in
      let MenhirCell0_POLYMONADIC_SUBCOMP (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_c_, c) = (_endpos, _v) in
      let _v = _menhir_action_453 c in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1292 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_BIND _menhir_cell0_LPAREN, ttv_result) _menhir_cell1_quident _menhir_cell0_COMMA, ttv_result) _menhir_cell1_quident _menhir_cell0_RPAREN _menhir_cell0_PIPE_RIGHT, ttv_result) _menhir_cell1_quident _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_quident (_menhir_stack, _, p_eff, _, _) = _menhir_stack in
      let MenhirCell0_PIPE_RIGHT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_quident (_menhir_stack, _, n_eff, _, _) = _menhir_stack in
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_quident (_menhir_stack, _, m_eff, _, _) = _menhir_stack in
      let MenhirCell0_LPAREN (_menhir_stack, _, _) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_369 e m_eff n_eff p_eff in
      let _endpos = _endpos_e_ in
      let MenhirCell0_POLYMONADIC_BIND (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_b_, b) = (_endpos, _v) in
      let _v = _menhir_action_452 b in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_b_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1376 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_lident, ttv_result) _menhir_cell1_binders _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, action_params, _, _) = _menhir_stack in
      let MenhirCell1_lident (_menhir_stack, _menhir_s, lid, _startpos_lid_, _) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_184 _endpos_e_ _startpos_lid_ action_params e lid in
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_effectDecl (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1378 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let x = _v in
          let _v = _menhir_action_535 x in
          _menhir_goto_separated_nonempty_list_SEMICOLON_effectDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_SEMICOLON_effectDecl_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState1370 ->
          _menhir_run_1371 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1378 ->
          _menhir_run_1379 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1371 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON, ttv_result) _menhir_cell1_tmArrow_tmNoEq_ _menhir_cell0_WITH -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmArrow_tmNoEq_ (_menhir_stack, _, typ, _, _) = _menhir_stack in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
      let MenhirCell1_uident (_menhir_stack, _, lid, _, _) = _menhir_stack in
      let MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let (_endpos__8_, eds) = (_endpos, _v) in
      let _v = _menhir_action_185 bs eds lid typ in
      _menhir_goto_effectDefinition _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__8_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_effectDefinition : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1364 ->
          _menhir_run_1385 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1402 ->
          _menhir_run_1403 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1385 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_NEW_EFFECT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let (_endpos_ed_, ed) = (_endpos, _v) in
      let _v = _menhir_action_254 ed in
      _menhir_goto_newEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ed_ _v _tok _menhir_initp
  
  and _menhir_goto_newEffect : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_NEW_EFFECT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_NEW_EFFECT (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_ne_, ne) = (_endpos, _v) in
      let _v = _menhir_action_448 ne in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1403 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_LAYERED_EFFECT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_LAYERED_EFFECT (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_ne_, ne) = (_endpos, _v) in
      let _v = _menhir_action_449 ne in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1379 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_effectDecl _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_effectDecl (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_536 x xs in
      _menhir_goto_separated_nonempty_list_SEMICOLON_effectDecl_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1382 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_NEW_EFFECT, ttv_result) _menhir_cell1_uident _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_uident (_menhir_stack, _, lid, _, _) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_186 e lid in
      let _endpos = _endpos_e_ in
      let (_endpos_ed_, ed) = (_endpos, _v) in
      let _v = _menhir_action_253 ed in
      _menhir_goto_newEffect _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ed_ _v _tok _menhir_initp
  
  and _menhir_run_0377 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_IMPLIES (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
      let MenhirCell1_tmArrow_tmFormula_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (tok, _endpos_e2_, _startpos_e2_, e2) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_648 _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok in
      _menhir_goto_tmImplies _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0764 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ELIM as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmArrow_tmFormula_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | IMPLIES ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_IMPLIES (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0765 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0887 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_INTRO as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmArrow_tmFormula_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | IMPLIES ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_IMPLIES (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0888 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0918 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_BAR_RBRACE _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_BAR_RBRACE (_menhir_stack, _, _endpos__3_) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, t, _, _) = _menhir_stack in
      let MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_588 _endpos__3_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ t tgt in
      _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0993 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_RPAREN _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_RPAREN (_menhir_stack, _, _, _endpos__4_) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, dom_tm, _, _) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _, attrs, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_591 _endpos__4_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ attrs dom_tm tgt in
      _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0998 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_RPAREN _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_RPAREN (_menhir_stack, _, _, _endpos__5_) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, dom_tm, _, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _, q, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_589 _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt in
      _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1003 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_RPAREN _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_RPAREN (_menhir_stack, _, _, _endpos__5_) = _menhir_stack in
      let MenhirCell1_tmFormula (_menhir_stack, _, dom_tm, _, _) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _, x, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _, q, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_590 _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt x in
      _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0362 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          _menhir_run_0363 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0362 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0363 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmFormula as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_RARROW (_menhir_stack, _menhir_s, _endpos) in
      let _menhir_s = MenhirState0363 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0366 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          _menhir_run_0367 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0366 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0366 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0367 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_tmFormula as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_RARROW (_menhir_stack, _menhir_s, _endpos) in
      let _menhir_s = MenhirState0367 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0372 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          _menhir_run_0373 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0372 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0372 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0373 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmFormula as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_RARROW (_menhir_stack, _menhir_s, _endpos) in
      let _menhir_s = MenhirState0373 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0742 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ELIM as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0742 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0742 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_DISJUNCTION (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0743 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | IMPLIES ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_596 e in
          _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0766 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _menhir_s = MenhirState0766 in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_WITH (_menhir_stack, _menhir_s, _endpos) in
          let _menhir_s = MenhirState0767 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0766 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0806 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_disjunctivePattern, ttv_result) _menhir_cell1_WHEN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0807 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0806 _menhir_initp
      | RARROW ->
          _menhir_run_0808 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0806 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0806 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0874 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_INTRO as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0325 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0874 _menhir_initp
      | DISJUNCTION ->
          let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0874 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_DISJUNCTION (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0875 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | IMPLIES ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_596 e in
          _menhir_goto_tmArrow_tmFormula_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0889 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmArrow_tmFormula_ _menhir_cell0_IMPLIES as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_WITH (_menhir_stack, MenhirState0889, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0890 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0890 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0890 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0890 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0890 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0890 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0890 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0890 _menhir_initp
          | DOT ->
              let _v_2 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _endpos_0 _v_2 MenhirState0890 _tok _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0889 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0915 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0915 _menhir_initp
      | BAR_RBRACE ->
          let _menhir_s = MenhirState0915 in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_BAR_RBRACE (_menhir_stack, _menhir_s, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RARROW ->
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
              let _menhir_s = MenhirState0917 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0990 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _menhir_s = MenhirState0990 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RARROW ->
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
              let _menhir_s = MenhirState0992 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0363 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0990 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0990 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0995 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _menhir_s = MenhirState0995 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RARROW ->
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
              let _menhir_s = MenhirState0997 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0367 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0995 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0995 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1000 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmFormula (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _menhir_s = MenhirState1000 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_RPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RARROW ->
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
              let _menhir_s = MenhirState1002 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | RARROW ->
          _menhir_run_0373 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1000 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0369 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1000 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0370 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0358 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell1_DISJUNCTION (_menhir_stack, _, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmFormula (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (tok, _endpos_e2_, _startpos_e2_, e2) = ((), _endpos, _startpos, _v) in
          let _v = _menhir_action_644 _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmFormula _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0744 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RETURNS ->
          let _menhir_stack = MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RETURNS (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0745 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0358 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | DISJUNCTION | IMPLIES | RARROW ->
          let MenhirCell1_DISJUNCTION (_menhir_stack, _, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmFormula (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (tok, _endpos_e2_, _startpos_e2_, e2) = ((), _endpos, _startpos, _v) in
          let _v = _menhir_action_644 _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmFormula _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0755 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ELIM as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_CONJUNCTION (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0756 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION | IMPLIES | RARROW ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_645 e in
          _menhir_goto_tmFormula _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0876 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmFormula, ttv_result) _menhir_cell1_DISJUNCTION as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _menhir_stack = MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_NAME (_menhir_stack, _v, _startpos, _endpos) in
              let _menhir_s = MenhirState0878 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRY ->
                  _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SYNTH ->
                  _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REQUIRES ->
                  _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | QUOTE ->
                  _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MINUS ->
                  _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | MATCH_OP _v ->
                  _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | MATCH ->
                  _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LET_OP _v ->
                  _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LET ->
                  _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT ->
                  _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT ->
                  _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INTRO ->
                  _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF_OP _v ->
                  _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IF ->
                  _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUNCTION ->
                  _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ENSURES ->
                  _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ELIM ->
                  _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DECREASES ->
                  _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | CALC ->
                  _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_HASH ->
                  _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_AT ->
                  _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK ->
                  _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ATTRIBUTES ->
                  _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSUME ->
                  _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | ASSERT ->
                  _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0358 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | DISJUNCTION | IMPLIES | RARROW ->
          let MenhirCell1_DISJUNCTION (_menhir_stack, _, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmFormula (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (tok, _endpos_e2_, _startpos_e2_, e2) = ((), _endpos, _startpos, _v) in
          let _v = _menhir_action_644 _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmFormula _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0880 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_INTRO as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | CONJUNCTION ->
          let _menhir_stack = MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_CONJUNCTION (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0881 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DISJUNCTION | IMPLIES | RARROW ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_645 e in
          _menhir_goto_tmFormula _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0359 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_CONJUNCTION (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
      let MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (tok, _endpos_e2_, _startpos_e2_, e2) = ((), _endpos, _startpos, _v) in
      let _v = _menhir_action_606 _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok in
      _menhir_goto_tmConjunction _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0757 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_ELIM, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RETURNS ->
          let _menhir_stack = MenhirCell1_tmTuple (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RETURNS (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0758 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | CONJUNCTION | DISJUNCTION | IMPLIES | RARROW ->
          let MenhirCell0_CONJUNCTION (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (tok, _endpos_e2_, _startpos_e2_, e2) = ((), _endpos, _startpos, _v) in
          let _v = _menhir_action_606 _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmConjunction _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0882 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_INTRO, ttv_result) _menhir_cell1_tmConjunction _menhir_cell0_CONJUNCTION as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _menhir_stack = MenhirCell1_tmTuple (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0883 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | CONJUNCTION | DISJUNCTION | IMPLIES | RARROW ->
          let MenhirCell0_CONJUNCTION (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmConjunction (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (tok, _endpos_e2_, _startpos_e2_, e2) = ((), _endpos, _startpos, _v) in
          let _v = _menhir_action_606 _endpos_e1_ _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_e2_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmConjunction _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0353 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_tmEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0354 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, e) = (_endpos, _v) in
          let _v = _menhir_action_146 e in
          _menhir_goto_commaTmEqList _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_commaTmEqList : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0354 ->
          _menhir_run_0355 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0356 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0355 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmEq (_menhir_stack, _menhir_s, e, _, _) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_147 e rest in
      _menhir_goto_commaTmEqList _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0356 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmEq (_menhir_stack, _menhir_s, e, _startpos_e_, _endpos_e_) = _menhir_stack in
      let (_endpos_rest_, rest) = (_endpos, _v) in
      let _v = _menhir_action_676 _endpos_e_ _startpos_e_ e rest in
      _menhir_goto_tmTuple _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_rest_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1008 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LENS_PAREN_LEFT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1009 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1010 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_tmEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1011 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | LENS_PAREN_RIGHT ->
          let x = _v in
          let _v = _menhir_action_529 x in
          _menhir_goto_separated_nonempty_list_COMMA_tmEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_separated_nonempty_list_COMMA_tmEq_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState1011 ->
          _menhir_run_1012 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1009 ->
          _menhir_run_1013 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1012 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmEq (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_530 x xs in
      _menhir_goto_separated_nonempty_list_COMMA_tmEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1013 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LENS_PAREN_LEFT, ttv_result) _menhir_cell1_tmEq _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmEq (_menhir_stack, _, e0, _, _) = _menhir_stack in
      let MenhirCell1_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos__5_, _startpos__5_, el) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_107 _endpos__1_ _endpos__5_ _startpos__1_ _startpos__5_ e0 el in
      _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__5_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0328 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_PIPE_RIGHT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_PIPE_RIGHT (_menhir_stack, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (op, _endpos_e2_, e2) = ((), _endpos, _v) in
          let _v = _menhir_action_630 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0330 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_PIPE_LEFT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_PIPE_LEFT (_menhir_stack, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (op, _endpos_e2_, e2) = ((), _endpos, _v) in
          let _v = _menhir_action_629 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0332 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX2 -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_OPINFIX2 (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_636 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0336 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX1 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_OPINFIX1 (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_635 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0338 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_MINUS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_MINUS (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
      let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
      let (tok, _endpos_e2_, e2) = ((), _endpos, _v) in
      let _v = _menhir_action_637 _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0340 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX0d as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0327 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_OPINFIX0d (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_634 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0342 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX0c as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0327 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_OPINFIX0c (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_633 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0344 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX0b as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0327 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | OPINFIX0c _v_3 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_OPINFIX0b (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_632 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0346 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_EQUALS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0327 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_EQUALS (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (tok, _endpos_e2_, e2) = ((), _endpos, _v) in
          let _v = _menhir_action_627 _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0348 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_OPINFIX0a as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0327 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | OPINFIX0c _v_3 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
      | OPINFIX0b _v_4 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0343 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_OPINFIX0a (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_631 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0350 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_tmRefinement_ _menhir_cell0_COLON_EQUALS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0327 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0329 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0331 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0339 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | OPINFIX0c _v_3 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0341 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
      | OPINFIX0b _v_4 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0343 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 _menhir_initp
      | OPINFIX0a _v_5 ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0347 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0337 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0345 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_COLON_EQUALS (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (tok, _endpos_e2_, e2) = ((), _endpos, _v) in
          let _v = _menhir_action_628 _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0487 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_MINUS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos_tok_, _endpos_tok_) = _menhir_stack in
      let (_endpos_e_, e, tok) = (_endpos, _v, ()) in
      let _v = _menhir_action_638 _endpos_e_ _endpos_tok_ _startpos_tok_ e tok in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_tok_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0772 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_640 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1007 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_QUOTE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_QUOTE (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_639 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0294 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_OPINFIX4 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_OPINFIX4 (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_664 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0566 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0571 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0573 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0569 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0575 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EQUALS | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | PIPE_LEFT | PIPE_RIGHT | RARROW ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_643 e in
          _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | RPAREN ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_650 e in
          _menhir_goto_tmNoEq _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_tmNoEq : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0565 ->
          _menhir_run_0579 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0584 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0587 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0591 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0595 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0599 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0605 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0610 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_1468 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0579 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RARROW ->
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
              let _menhir_s = MenhirState0581 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0584 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | BAR_RBRACE ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_BAR_RBRACE (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RARROW ->
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
              let _menhir_s = MenhirState0586 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0587 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _menhir_stack = MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0588 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND | AND_OP _ | ASSUME | BLOB _ | BY | CLASS | EFFECT | EOF | EQUALS | EXCEPTION | FRIEND | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_605 e in
          _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_tmArrow_tmNoEq_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0588 ->
          _menhir_run_0589 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0593 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0597 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0601 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0602 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0603 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0608 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0613 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0614 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_1092 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_1369 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0589 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEq _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, dom_tm, _startpos_dom_tm_, _endpos_dom_tm_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_601 _endpos_dom_tm_ _endpos_tgt_ _startpos_dom_tm_ _startpos_tgt_ dom_tm tgt in
      _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_dom_tm_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0593 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmNoEq _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmNoEq (_menhir_stack, _, dom_tm, _, _endpos_dom_tm_) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_602 _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x in
      _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0597 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_tmNoEq _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmNoEq (_menhir_stack, _, dom_tm, _, _endpos_dom_tm_) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_603 _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x in
      _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0601 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmNoEq _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmNoEq (_menhir_stack, _, dom_tm, _, _endpos_dom_tm_) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _, x_inlined1, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_604 _endpos_dom_tm_ _endpos_tgt_ _startpos_tgt_ _startpos_x_ dom_tm tgt x x_inlined1 in
      _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0602 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR, ttv_result) _menhir_cell1_tmNoEq _menhir_cell0_BAR_RBRACE _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell0_BAR_RBRACE (_menhir_stack, _endpos__3_) = _menhir_stack in
      let MenhirCell1_tmNoEq (_menhir_stack, _, t, _, _) = _menhir_stack in
      let MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_597 _endpos__3_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ t tgt in
      _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0603 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmNoEq _menhir_cell0_RPAREN _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__4_) = _menhir_stack in
      let MenhirCell1_tmNoEq (_menhir_stack, _, dom_tm, _, _) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _, attrs, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_600 _endpos__4_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ attrs dom_tm tgt in
      _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0608 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_tmNoEq _menhir_cell0_RPAREN _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__5_) = _menhir_stack in
      let MenhirCell1_tmNoEq (_menhir_stack, _, dom_tm, _, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _, q, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_598 _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt in
      _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0613 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_tmNoEq _menhir_cell0_RPAREN _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _endpos__5_) = _menhir_stack in
      let MenhirCell1_tmNoEq (_menhir_stack, _, dom_tm, _, _) = _menhir_stack in
      let MenhirCell1_binderAttributes (_menhir_stack, _, x, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _, q, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_599 _endpos__5_ _endpos_tgt_ _startpos__1_ _startpos_tgt_ dom_tm q tgt x in
      _menhir_goto_tmArrow_tmNoEq_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0614 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmArrow_tmNoEq_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | BY ->
          let _menhir_s = MenhirState0615 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND_OP _ | EQUALS | IN ->
          let _v = _menhir_action_343 () in
          _menhir_goto_option___anonymous_7_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1092 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_typars _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let t = _v in
      let _v = _menhir_action_202 t in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let k = _v in
      let _v = _menhir_action_071 k in
      let x = _v in
      let _v = _menhir_action_350 x in
      _menhir_goto_option_ascribeKind_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
  
  and _menhir_run_1369 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_binders _menhir_cell0_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmArrow_tmNoEq_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | WITH ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_WITH (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1370 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0591 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0592 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0595 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0596 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0599 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0600 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0605 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RARROW ->
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
              let _menhir_s = MenhirState0607 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0610 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEq (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RARROW ->
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
              let _menhir_s = MenhirState0612 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | UNDERSCORE ->
                  _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | UINT8 _v ->
                  _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT64 _v ->
                  _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT32 _v ->
                  _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | UINT16 _v ->
                  _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | TRUE ->
                  _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | TILDE _v ->
                  _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | STRING _v ->
                  _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SIZET _v ->
                  _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | SET_RANGE_OF ->
                  _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | SEQ_BANG_LBRACK ->
                  _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REIFY ->
                  _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | REAL _v ->
                  _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | RANGE_OF ->
                  _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | PERCENT_LBRACK ->
                  _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | OPPREFIX _v ->
                  _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | LPAREN_RPAREN ->
                  _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LPAREN ->
                  _menhir_run_0484 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LENS_PAREN_LEFT ->
                  _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK_AT_AT_AT ->
                  _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACK ->
                  _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE_BAR ->
                  _menhir_run_0582 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | LBRACE ->
                  _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | INT8 _v ->
                  _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT64 _v ->
                  _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT32 _v ->
                  _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT16 _v ->
                  _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | INT _v ->
                  _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | IDENT _v ->
                  _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | HASH ->
                  _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FUN ->
                  _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FORALL_OP _v ->
                  _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | FORALL ->
                  _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | FALSE ->
                  _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | EXISTS_OP _v ->
                  _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | EXISTS ->
                  _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | DOLLAR ->
                  _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | CHAR _v ->
                  _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | BEGIN ->
                  _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BANG_LBRACE ->
                  _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | BACKTICK_PERC ->
                  _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1468 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_uident, ttv_result) _menhir_cell1_binders _menhir_cell0_WITH -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RBRACE ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
          let MenhirCell1_binders (_menhir_stack, _, bs, _, _) = _menhir_stack in
          let MenhirCell1_uident (_menhir_stack, _, lid, _, _) = _menhir_stack in
          let MenhirCell1_LBRACE (_menhir_stack, _, _, _) = _menhir_stack in
          let (r, _endpos__6_) = (_v, _endpos_1) in
          let _v = _menhir_action_203 bs lid r in
          let _endpos = _endpos__6_ in
          let MenhirCell0_EFFECT (_menhir_stack, _startpos__1_) = _menhir_stack in
          let (_endpos_ne_, ne) = (_endpos, _v) in
          let _v = _menhir_action_450 ne in
          _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ne_ _startpos__1_ _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0568 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_OPINFIX3R as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0569 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_OPINFIX3R (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_663 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0570 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_BACKTICK as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          _menhir_run_0571 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0573 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BACKTICK ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_BACKTICK (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0577 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP ->
          _menhir_run_0575 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0572 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_OPINFIX3L as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0569 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_OPINFIX3L (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_662 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0574 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_COLON_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0571 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0573 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0569 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0575 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AND | AND_OP _ | AS | ASSUME | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_COLON_COLON (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_660 _endpos_e2_ _startpos_e1_ e1 e2 in
          _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0576 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0571 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0569 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0575 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AND | AND_OP _ | AS | ASSUME | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_661 _endpos_e1_ _endpos_e2_ _startpos_e1_ _startpos_e2_ e1 e2 in
          _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0578 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_BACKTICK, ttv_result) _menhir_cell1_tmNoEqWith_tmRefinement_ _menhir_cell0_BACKTICK as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let MenhirCell0_BACKTICK (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _, op, _, _) = _menhir_stack in
          let MenhirCell0_BACKTICK (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_665 _endpos_e2_ _startpos_e1_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0583 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0293 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0567 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0571 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0573 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0569 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_tmRefinement_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0575 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AND | AND_OP _ | ASSUME | BAR_RBRACE | BLOB _ | BY | CLASS | EFFECT | EOF | EQUALS | EXCEPTION | FRIEND | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_650 e in
          _menhir_goto_tmNoEq _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0847 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_refineOpt (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | BAR ->
          _menhir_run_0848 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0847 _menhir_initp
      | RPAREN ->
          let _v_0 = _menhir_action_689 () in
          _menhir_run_0856 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0848 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow, ttv_result) _menhir_cell1_refineOpt as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _menhir_stack = MenhirCell1_BAR (_menhir_stack, _menhir_s, _startpos) in
      let _menhir_s = MenhirState0848 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0856 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow, ttv_result) _menhir_cell1_refineOpt -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_refineOpt (_menhir_stack, _, r, _, _) = _menhir_stack in
      let MenhirCell1_simpleArrow (_menhir_stack, _, t, _, _) = _menhir_stack in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ (_menhir_stack, _, qual_ids) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos__7_, cts) = (_endpos, _v) in
      let _v = _menhir_action_250 _endpos__7_ _startpos__1_ cts qual_ids r t in
      _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0941 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_tuplePattern _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_refineOpt (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          _menhir_run_0668 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_BAR (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState0942 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0953 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_refineOpt (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | BAR ->
          _menhir_run_0848 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0953 _menhir_initp
      | RPAREN ->
          let _v_0 = _menhir_action_689 () in
          _menhir_run_0954 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0954 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow, ttv_result) _menhir_cell1_refineOpt -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_refineOpt (_menhir_stack, _, r, _, _) = _menhir_stack in
      let MenhirCell1_simpleArrow (_menhir_stack, _, t, _startpos_t_, _endpos_t_) = _menhir_stack in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ (_menhir_stack, _, qual_ids) = _menhir_stack in
      let MenhirCell1_aqualifiedWithAttrs_lidentOrUnderscore_ (_menhir_stack, _, qual_id0, _, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos__8_, cts) = (_endpos, _v) in
      let _v = _menhir_action_191 _endpos__8_ _endpos_t_ _startpos__1_ _startpos_t_ cts qual_id0 qual_ids r t in
      _menhir_goto_genBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__8_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_genBinder : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0624 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0624 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0624 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0624 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0624 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0624 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | REAL _v_6 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0624 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | NAME _v_7 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0624 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | INT8 _v_8 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0624 _menhir_initp
      | INT64 _v_9 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0624 _menhir_initp
      | INT32 _v_10 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0624 _menhir_initp
      | INT16 _v_11 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0624 _menhir_initp
      | INT _v_12 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0624 _menhir_initp
      | IDENT _v_13 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0624 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | CHAR _v_14 ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0624 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_genBinder (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0624 _menhir_initp
      | COLON | EQUALS | RARROW ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_310 x in
          _menhir_goto_nonempty_list_genBinder_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_nonempty_list_genBinder_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0432 ->
          _menhir_run_0482 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0625 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0629 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0635 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0641 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0647 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0653 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0659 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0672 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0683 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0960 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0482 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0482 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0621 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0482 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0625 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_genBinder -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_genBinder (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_311 x xs in
      _menhir_goto_nonempty_list_genBinder_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0629 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0629 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0630 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0629 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0635 : type  ttv_stack ttv_result. (((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS, ttv_result) _menhir_cell1_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0635 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0636 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0635 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0641 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0641 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0642 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0641 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0647 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0647 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0648 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0647 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0653 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0653 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0654 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0653 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0659 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0659 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0660 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0659 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0672 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0672 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0673 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0672 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0683 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_lident as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          _menhir_run_0483 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0683 _menhir_initp
      | EQUALS ->
          let _v_0 = _menhir_action_351 () in
          _menhir_run_0684 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_0 MenhirState0683 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0960 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_FUN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_nonempty_list_genBinder_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0961 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0441 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_659 e in
      _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0784 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_universe (_menhir_stack, _menhir_s, _v, _startpos) in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0784 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0784 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0784 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0784 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0784 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0784 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0784 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0784 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0784 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | LBRACE ->
          _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0784 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0784 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0784 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0784 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0784 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0784 _menhir_initp
      | HASH ->
          _menhir_run_0780 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0784 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0784 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0784 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0784 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_18 = _menhir_action_012 () in
          _menhir_run_0788 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0782 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_HASH, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_recordExp (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACE (_menhir_stack, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNIV_HASH ->
          _menhir_run_0164 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0783 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0783 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0783 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0783 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0783 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0783 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0783 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0783 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0783 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | LBRACE ->
          _menhir_run_0251 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0783 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0783 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0783 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0783 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0783 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0783 _menhir_initp
      | HASH ->
          _menhir_run_0780 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | FORALL_OP _v_15 ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0783 _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | EXISTS_OP _v_16 ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0783 _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | CHAR _v_17 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0783 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0783 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_18 = _menhir_action_012 () in
          _menhir_run_0789 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_18 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0842 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACE -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos__3_, e) = (_endpos, _v) in
      let _v = _menhir_action_670 e in
      _menhir_goto_tmNoEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0913 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACE -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos__3_, e) = (_endpos, _v) in
      let _v = _menhir_action_672 e in
      _menhir_goto_tmNoEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0793 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_appTerm _menhir_cell0_WITH -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_initp ->
      let MenhirCell0_WITH (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_appTerm (_menhir_stack, _menhir_s, e, _startpos_e_, _endpos_e_) = _menhir_stack in
      let (_endpos_record_fields_, _startpos_record_fields_, record_fields) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_456 _endpos_e_ _endpos_record_fields_ _startpos_e_ _startpos_record_fields_ e record_fields in
      _menhir_goto_recordExp _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_0278 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_simpleDef _menhir_cell0_SEMICOLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_simpleDef (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_1 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0279 _menhir_initp
          | LPAREN ->
              _menhir_run_0254 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0279 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0279 _menhir_initp
          | RBRACE ->
              let _v_3 = _menhir_action_507 () in
              _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_0 _v_3 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let (_endpos_x_, x) = (_endpos, _v) in
          let _v = _menhir_action_508 x in
          _menhir_goto_right_flexible_list_SEMICOLON_simpleDef_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0280 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_simpleDef _menhir_cell0_SEMICOLON, ttv_result) _menhir_cell1_simpleDef _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_simpleDef (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_509 x xs in
      _menhir_goto_right_flexible_list_SEMICOLON_simpleDef_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_SEMICOLON_simpleDef_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_simpleDef _menhir_cell0_SEMICOLON as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0279 ->
          _menhir_run_0280 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_initp
      | MenhirState0253 ->
          _menhir_run_0776 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0563 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
          let (op, _endpos__3_, _startpos__3_) = (_v, _endpos_1, _startpos_0) in
          let _v = _menhir_action_100 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ op in
          _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0670 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_maybeFocus, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | UINT8 _v_2 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0671 _menhir_initp
          | UINT64 _v_3 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0671 _menhir_initp
          | UINT32 _v_4 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0671 _menhir_initp
          | UINT16 _v_5 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0671 _menhir_initp
          | TRUE ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | STRING _v_6 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0671 _menhir_initp
          | SIZET _v_7 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0671 _menhir_initp
          | SET_RANGE_OF ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | REIFY ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | REAL _v_8 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0671 _menhir_initp
          | RANGE_OF ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | NAME _v_9 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0671 _menhir_initp
          | MINUS ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | LPAREN_RPAREN ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | LPAREN ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | LENS_PAREN_LEFT ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | LBRACK_AT_AT_AT ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | LBRACK ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | LBRACE_BAR ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | LBRACE ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | INT8 _v_10 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0671 _menhir_initp
          | INT64 _v_11 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0671 _menhir_initp
          | INT32 _v_12 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0671 _menhir_initp
          | INT16 _v_13 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0671 _menhir_initp
          | INT _v_14 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0671 _menhir_initp
          | IDENT _v_15 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0671 _menhir_initp
          | HASH ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | FALSE ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | DOT_DOT ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | DOLLAR ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | CHAR _v_16 ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0671 _menhir_initp
          | BACKTICK_PERC ->
              let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
              _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0671 _menhir_initp
          | COLON | COLON_COLON | COMMA | EQUALS ->
              let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
              let (op, _endpos__3_) = (_v, _endpos_1) in
              let _v = _menhir_action_080 _endpos__3_ _startpos__1_ op in
              _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0718 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_i_, _startpos_i_, i) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_142 _endpos_i_ _startpos_i_ i in
      _menhir_goto_calcRel _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_calcRel : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_calcRel (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_LBRACE (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0712 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | RBRACE ->
              let _v = _menhir_action_361 () in
              _menhir_goto_option_term_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0911 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
              let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_) = (_v, _endpos_1, _startpos_0) in
              let _v = _menhir_action_100 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ op in
              _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | EQUALS | RBRACE | SEMICOLON ->
              let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
              let (op, _endpos__3_) = (_v, _endpos_1) in
              let _v = _menhir_action_400 op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0945 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (op, _endpos__3_) = (_v, _endpos_1) in
          let _v = _menhir_action_080 _endpos__3_ _startpos__1_ op in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1074 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1075 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1075 _menhir_initp
          | COLON ->
              let _v_3 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v_3 MenhirState1075 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1112 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | COLON ->
              let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
              let op = _v in
              let _v = _menhir_action_060 op in
              _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
          | BANG_LBRACE | BEGIN | CHAR _ | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
              let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
              let (op, _endpos__3_, _startpos__3_) = (_v, _endpos_1, _startpos_0) in
              let _v = _menhir_action_100 _endpos__1_ _endpos__3_ _startpos__1_ _startpos__3_ op in
              _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | EQUALS | RBRACE | SEMICOLON ->
              let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
              let (op, _endpos__3_) = (_v, _endpos_1) in
              let _v = _menhir_action_400 op in
              _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1133 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let op = _v in
          let _v = _menhir_action_060 op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1156 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
          let MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, attrs, _) = _menhir_stack in
          let op = _v in
          let _v = _menhir_action_051 attrs op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1178 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
          let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
          let op = _v in
          let _v = _menhir_action_042 aq op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1197 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
          let MenhirCell1_binderAttributes (_menhir_stack, _, attrs, _) = _menhir_stack in
          let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
          let op = _v in
          let _v = _menhir_action_033 aq attrs op in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1316 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_AS, ttv_result) _menhir_cell1_LPAREN -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LPAREN (_menhir_stack, _, _, _) = _menhir_stack in
          let MenhirCell1_AS (_menhir_stack, _menhir_s) = _menhir_stack in
          let op = _v in
          let _v = _menhir_action_328 op in
          _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_option___anonymous_0_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1299 ->
          _menhir_run_1319 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1322 ->
          _menhir_run_1323 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1327 ->
          _menhir_run_1328 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1332 ->
          _menhir_run_1333 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1337 ->
          _menhir_run_1338 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1342 ->
          _menhir_run_1343 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1347 ->
          _menhir_run_1348 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1352 ->
          _menhir_run_1353 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1357 ->
          _menhir_run_1358 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1319 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1320 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1320 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1320 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1321 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_TILDE (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_471 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1297 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | TILDE _v ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1297, _v, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_2 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_3 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_2, _endpos_3) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | AS ->
                  _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1299 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_4 = _menhir_action_325 () in
                  _menhir_run_1319 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1299 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | OP_MIXFIX_ASSIGNMENT _v ->
          _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OP_MIXFIX_ACCESS _v ->
          _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPPREFIX _v ->
          let _startpos_5 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_6 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1297, _v, _startpos_5, _endpos_6) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_7 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_8 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_7, _endpos_8) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | AS ->
                  _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1327 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_9 = _menhir_action_325 () in
                  _menhir_run_1328 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState1327 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | OPINFIX4 _v ->
          _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPINFIX3R _v ->
          _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPINFIX3L _v ->
          _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPINFIX2 _v ->
          _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPINFIX1 _v ->
          _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPINFIX0d _v ->
          _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPINFIX0c _v ->
          _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPINFIX0b _v ->
          _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | OPINFIX0a _v ->
          _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1297 _menhir_initp
      | MINUS ->
          let _startpos_10 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_11 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1297, _startpos_10, _endpos_11) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_12 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_13 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_12, _endpos_13) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | AS ->
                  _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1332 _menhir_initp
              | COMMA | RBRACE ->
                  let _v = _menhir_action_325 () in
                  _menhir_run_1333 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1332 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | LET_OP _v ->
          let _startpos_14 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_15 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1297, _v, _startpos_14, _endpos_15) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_16 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_17 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_16, _endpos_17) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | AS ->
                  _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1337 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_18 = _menhir_action_325 () in
                  _menhir_run_1338 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 MenhirState1337 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | IMPLIES ->
          _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1297 _menhir_initp
      | IFF ->
          _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1297 _menhir_initp
      | FORALL_OP _v ->
          let _startpos_19 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_20 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1297, _v, _startpos_19, _endpos_20) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_21 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_22 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_21, _endpos_22) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | AS ->
                  _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1342 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_23 = _menhir_action_325 () in
                  _menhir_run_1343 _menhir_stack _menhir_lexbuf _menhir_lexer _v_23 MenhirState1342 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | EXISTS_OP _v ->
          let _startpos_24 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_25 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1297, _v, _startpos_24, _endpos_25) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_26 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_27 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_26, _endpos_27) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | AS ->
                  _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1347 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_28 = _menhir_action_325 () in
                  _menhir_run_1348 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState1347 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | EQUALS ->
          _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1297 _menhir_initp
      | DISJUNCTION ->
          _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1297 _menhir_initp
      | CONJUNCTION ->
          _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1297 _menhir_initp
      | COLON_EQUALS ->
          _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1297 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1297 _menhir_initp
      | AND_OP _v ->
          let _startpos_29 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_30 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState1297, _v, _startpos_29, _endpos_30) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | RPAREN ->
              let _startpos_31 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_32 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_31, _endpos_32) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | AS ->
                  _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1352 _menhir_initp
              | COMMA | RBRACE ->
                  let _v_33 = _menhir_action_325 () in
                  _menhir_run_1353 _menhir_stack _menhir_lexbuf _menhir_lexer _v_33 MenhirState1352 _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1300 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1300 _menhir_initp
      | LPAREN ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | TILDE _v ->
              let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_1, _startpos_0, _v) in
                  let _v = _menhir_action_329 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OP_MIXFIX_ASSIGNMENT _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OP_MIXFIX_ACCESS _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPPREFIX _v ->
              let _startpos_4 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_5 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_5, _startpos_4, _v) in
                  let _v = _menhir_action_327 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | OPINFIX4 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPINFIX3R _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPINFIX3L _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPINFIX2 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPINFIX1 _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPINFIX0d _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPINFIX0c _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPINFIX0b _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | OPINFIX0a _v ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1301 _menhir_initp
          | MINUS ->
              let _startpos_8 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_9 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_9, _startpos_8, ()) in
                  let _v = _menhir_action_330 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | LET_OP _v ->
              let _startpos_12 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_13 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_13, _startpos_12, _v) in
                  let _v = _menhir_action_332 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | IMPLIES ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1301 _menhir_initp
          | IFF ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1301 _menhir_initp
          | FORALL_OP _v ->
              let _startpos_16 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_17 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_17, _startpos_16, _v) in
                  let _v = _menhir_action_334 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EXISTS_OP _v ->
              let _startpos_20 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_21 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_21, _startpos_20, _v) in
                  let _v = _menhir_action_333 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | EQUALS ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1301 _menhir_initp
          | DISJUNCTION ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1301 _menhir_initp
          | CONJUNCTION ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1301 _menhir_initp
          | COLON_EQUALS ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1301 _menhir_initp
          | COLON_COLON ->
              let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1300, _startpos, _endpos) in
              _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1301 _menhir_initp
          | AND_OP _v ->
              let _startpos_24 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos_25 = _menhir_lexbuf.Lexing.lex_curr_p in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | RPAREN ->
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  let (_endpos_op_, _startpos_op_, op) = (_endpos_25, _startpos_24, _v) in
                  let _v = _menhir_action_331 _endpos_op_ _startpos_op_ op in
                  _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | IDENT _v ->
          let _menhir_stack = MenhirCell1_AS (_menhir_stack, _menhir_s) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1300 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1328 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1329 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1329 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1329 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1330 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_OPPREFIX (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_469 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1330 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_OPPREFIX _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_OPPREFIX (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_478 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_COMMA___anonymous_1_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState1320 ->
          _menhir_run_1321 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1324 ->
          _menhir_run_1325 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1329 ->
          _menhir_run_1330 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1334 ->
          _menhir_run_1335 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1339 ->
          _menhir_run_1340 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1344 ->
          _menhir_run_1345 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1349 ->
          _menhir_run_1350 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1354 ->
          _menhir_run_1355 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1359 ->
          _menhir_run_1360 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1296 ->
          _menhir_run_1361 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1321 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_TILDE _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_TILDE (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_480 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1325 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ident, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell1_ident (_menhir_stack, _menhir_s, id, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_477 id renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1335 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_MINUS (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let (op, xs) = ((), _v) in
      let _v = _menhir_action_481 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1340 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_LET_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_483 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1345 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_FORALL_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_485 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1350 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_EXISTS_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_484 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1355 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_AND_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_482 _endpos_op_ _startpos_op_ op renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1360 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN, ttv_result) _menhir_cell1_option___anonymous_0_ _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_option___anonymous_0_ (_menhir_stack, _, renamed) = _menhir_stack in
      let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_binop_name (_menhir_stack, _, op, _, _) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_479 op renamed xs in
      _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_run_1361 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_quident, ttv_result) _menhir_cell1_LBRACE -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
      let (_endpos__3_, ids) = (_endpos, _v) in
      let _v = _menhir_action_459 ids in
      _menhir_goto_restriction _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_restriction : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_quident as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1295 ->
          _menhir_run_1363 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1454 ->
          _menhir_run_1455 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1363 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_OPEN, ttv_result) _menhir_cell1_quident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_quident (_menhir_stack, _, uid, _, _) = _menhir_stack in
      let MenhirCell0_OPEN (_menhir_stack, _startpos__1_, _) = _menhir_stack in
      let (_endpos_r_, r) = (_endpos, _v) in
      let _v = _menhir_action_425 r uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_r_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1455 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INCLUDE, ttv_result) _menhir_cell1_quident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_quident (_menhir_stack, _, uid, _, _) = _menhir_stack in
      let MenhirCell0_INCLUDE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_r_, r) = (_endpos, _v) in
      let _v = _menhir_action_427 r uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_r_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1333 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_MINUS _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1334 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1334 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1334 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1335 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_MINUS (_menhir_stack, _, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let (op, renamed) = ((), _v) in
          let _v = _menhir_action_472 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1338 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_LET_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1339 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1339 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1339 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1340 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_LET_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_474 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1343 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_FORALL_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1344 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1344 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1344 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1345 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_FORALL_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_476 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1348 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_EXISTS_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1349 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1349 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1349 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1350 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_EXISTS_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_475 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1353 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_AND_OP _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1354 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1354 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1354 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1355 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_AND_OP (_menhir_stack, _, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_473 _endpos_op_ _startpos_op_ op renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1323 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ident as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1324 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1324 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1324 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1325 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell1_ident (_menhir_stack, _menhir_s, id, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_468 id renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1358 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_binop_name _menhir_cell0_RPAREN as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_option___anonymous_0_ (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_0 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1359 _menhir_initp
          | LPAREN ->
              _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1359 _menhir_initp
          | IDENT _v_1 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1359 _menhir_initp
          | RBRACE ->
              let _v_2 = _menhir_action_467 () in
              _menhir_run_1360 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACE ->
          let MenhirCell0_RPAREN (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_binop_name (_menhir_stack, _, op, _, _) = _menhir_stack in
          let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
          let renamed = _v in
          let _v = _menhir_action_470 op renamed in
          _menhir_goto_right_flexible_list_COMMA___anonymous_1_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1356 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | AS ->
              _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1357 _menhir_initp
          | COMMA | RBRACE ->
              let _v_2 = _menhir_action_325 () in
              _menhir_run_1358 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1357 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1442 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL, ttv_result) _menhir_cell1_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_binop_name (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos_0 = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_0, _endpos_1) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1443 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1443 _menhir_initp
          | LPAREN ->
              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1443 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1443 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1443 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1443 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1443 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1443 _menhir_initp
          | COLON ->
              let _v_3 = _menhir_action_237 () in
              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_1 _endpos_1 _v_3 MenhirState1443 _tok _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0132 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_389 _endpos_id_ _startpos_id_ id in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0135 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_qlident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | DOT ->
          _menhir_run_0134 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0135 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BACKTICK_PERC | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | DOLLAR | DOT_DOT | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WHEN | WITH ->
          let _v_0 = _menhir_action_223 () in
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0136 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_DOT, ttv_result) _menhir_cell1_qlident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_qlident (_menhir_stack, _, id, _, _) = _menhir_stack in
      let MenhirCell1_DOT (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_224 id xs in
      _menhir_goto_list___anonymous_13_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list___anonymous_13_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0135 ->
          _menhir_run_0136 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0133 ->
          _menhir_run_0138 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0705 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BACKTICK ->
          let _endpos_1 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_BACKTICK (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (id, _endpos__3_) = (_v, _endpos_1) in
          let _v = _menhir_action_143 _endpos__3_ _startpos__1_ id in
          _menhir_goto_calcRel _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0775 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_qid_, _startpos_qid_, qid) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_398 qid in
      _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_qid_ _startpos_qid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0790 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BANG_LBRACE | BEGIN | CHAR _ | DOT | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | REAL _ | REIFY | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_389 _endpos_id_ _startpos_id_ id in
          _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | EQUALS | RBRACE | SEMICOLON ->
          let (_endpos_qid_, _startpos_qid_, qid) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_398 qid in
          _menhir_goto_qlidentOrOperator _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_qid_ _startpos_qid_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1394 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_MODULE -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_MODULE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_q_, _startpos_q_, q) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_430 _endpos_q_ _startpos_q_ q in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_q_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0118 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_quident -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_quident (_menhir_stack, _menhir_s, ns, _startpos_ns_, _endpos_ns_) = _menhir_stack in
      let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_395 _endpos_id_ _endpos_ns_ _startpos_id_ _startpos_ns_ id ns in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_ns_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0173 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX2 _ | RPAREN ->
          let (_endpos_u_, _startpos_u_, u) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_114 u in
          _menhir_goto_atomicUniverse _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_u_ _startpos_u_ _v _menhir_s _tok _menhir_initp
      | IDENT _ | INT _ | LPAREN | UNDERSCORE ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_195 x in
          _menhir_goto_ident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_ident : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0166 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0170 ->
          _menhir_run_0174 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1084 ->
          _menhir_run_1089 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1086 ->
          _menhir_run_1089 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1475 ->
          _menhir_run_1089 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1248 ->
          _menhir_run_1252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1253 ->
          _menhir_run_1252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1256 ->
          _menhir_run_1252 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1300 ->
          _menhir_run_1318 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState1296 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1320 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1324 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1329 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1334 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1339 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1344 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1349 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1354 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1359 ->
          _menhir_run_1322 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0174 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_ident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0165 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | LPAREN ->
          _menhir_run_0166 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0174 _menhir_initp
      | INT _v_0 ->
          _menhir_run_0167 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0174 _menhir_initp
      | IDENT _v_1 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0174 _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1089 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_ident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1089 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1089 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1089 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1089 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1089 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1089 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1089 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1089 _menhir_initp
      | AND | ASSUME | BLOB _ | CLASS | COLON | EFFECT | EOF | EQUALS | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1089 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1252 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | SEMICOLON ->
          let _menhir_stack = MenhirCell1_ident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SEMICOLON (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v_1 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1253 _menhir_initp
          | IDENT _v_2 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1253 _menhir_initp
          | RBRACK ->
              let _v_3 = _menhir_action_498 () in
              _menhir_run_1254 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
          | _ ->
              _eRR ())
      | RBRACK ->
          let x = _v in
          let _v = _menhir_action_499 x in
          _menhir_goto_right_flexible_list_SEMICOLON_ident_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1254 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_ident _menhir_cell0_SEMICOLON -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_SEMICOLON (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_ident (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_500 x xs in
      _menhir_goto_right_flexible_list_SEMICOLON_ident_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_SEMICOLON_ident_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState1248 ->
          _menhir_run_1249 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MenhirState1253 ->
          _menhir_run_1254 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState1256 ->
          _menhir_run_1257 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1249 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICET _menhir_cell0_LBRACK as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_right_flexible_list_SEMICOLON_ident_ (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState1250 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1257 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICE _menhir_cell0_LBRACK as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_right_flexible_list_SEMICOLON_ident_ (_menhir_stack, _menhir_s, _v) in
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_RBRACK (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState1258 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1318 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_AS -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_AS (_menhir_stack, _menhir_s) = _menhir_stack in
      let id = _v in
      let _v = _menhir_action_326 id in
      _menhir_goto_option___anonymous_0_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1322 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_ident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | AS ->
          _menhir_run_1300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1322 _menhir_initp
      | COMMA | RBRACE ->
          let _v_0 = _menhir_action_325 () in
          _menhir_run_1323 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1322 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0176 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_u_, _startpos_u_, u) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_114 u in
      _menhir_goto_atomicUniverse _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_u_ _startpos_u_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0203 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_030 x in
      _menhir_goto_aqualifiedWithAttrs_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_aqualifiedWithAttrs_lident_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_qual_id_, _startpos_qual_id_, qual_id) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_090 _endpos_qual_id_ _startpos_qual_id_ qual_id in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_qual_id_ _startpos_qual_id_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0207 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, attrs, _startpos_attrs_) = _menhir_stack in
      let (_endpos_x_, x) = (_endpos, _v) in
      let _v = _menhir_action_029 attrs x in
      _menhir_goto_aqualifiedWithAttrs_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_attrs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0214 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_aqual -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _startpos_aq_) = _menhir_stack in
      let (_endpos_x_, x) = (_endpos, _v) in
      let _v = _menhir_action_028 aq x in
      _menhir_goto_aqualifiedWithAttrs_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0217 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _, attrs, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _startpos_aq_) = _menhir_stack in
      let (_endpos_x_, x) = (_endpos, _v) in
      let _v = _menhir_action_027 aq attrs x in
      _menhir_goto_aqualifiedWithAttrs_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_aq_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0396 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_AS -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | RETURNS ->
          let MenhirCell1_AS (_menhir_stack, _menhir_s) = _menhir_stack in
          let i = _v in
          let _v = _menhir_action_346 i in
          _menhir_goto_option___anonymous_8_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RETURNS_EQ ->
          let MenhirCell1_AS (_menhir_stack, _menhir_s) = _menhir_stack in
          let i = _v in
          let _v = _menhir_action_348 i in
          _menhir_goto_option___anonymous_9_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0682 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_maybeFocus as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0682 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0682 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0682 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0682 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0682 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0682 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | REAL _v_6 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0682 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | NAME _v_7 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0682 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0094 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | LBRACE_BAR ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0433 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | INT8 _v_8 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0682 _menhir_initp
      | INT64 _v_9 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0682 _menhir_initp
      | INT32 _v_10 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0682 _menhir_initp
      | INT16 _v_11 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0682 _menhir_initp
      | INT _v_12 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0682 _menhir_initp
      | IDENT _v_13 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0682 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | CHAR _v_14 ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0682 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0682 _menhir_initp
      | COLON | COLON_COLON | COMMA | EQUALS ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_030 x in
          _menhir_goto_aqualifiedWithAttrs_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1079 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1079 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1079 _menhir_initp
      | COLON ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1079 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1088 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_195 x in
      _menhir_goto_ident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1139 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let id = _v in
      let _v = _menhir_action_058 id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1158 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, attrs, _) = _menhir_stack in
      let id = _v in
      let _v = _menhir_action_049 attrs id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1180 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_aqual -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
      let id = _v in
      let _v = _menhir_action_040 aq id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1199 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _, attrs, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, aq, _) = _menhir_stack in
      let id = _v in
      let _v = _menhir_action_031 aq attrs id in
      _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1200 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let id = _v in
          let _v = _menhir_action_058 id in
          _menhir_goto_aqualifiedWithAttrs_lidentOrOperator_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | BANG_LBRACE | BEGIN | CHAR _ | DOT | DOT_LBRACK | DOT_LBRACK_BAR | DOT_LENS_PAREN_LEFT | DOT_LPAREN | EQUALS | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FUN | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | NAME _ | OPPREFIX _ | PERCENT_LBRACK | RANGE_OF | RBRACE | REAL _ | REIFY | SEMICOLON | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNIV_HASH | WITH ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_363 id in
          _menhir_goto_path_lident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1373 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1373 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1373 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1373 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1373 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1373 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1373 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1373 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1373 _menhir_initp
      | EQUALS ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1373 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1447 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE, ttv_result) _menhir_cell1_VAL as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_lident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1447 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1447 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1447 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1447 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1447 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1447 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1447 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1447 _menhir_initp
      | COLON ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1447 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0113 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0114 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BACKTICK_PERC | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | DOLLAR | DOT_DOT | DOT_LPAREN | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | QMARK | QMARK_DOT | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WHEN | WITH ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_365 id in
          _menhir_goto_path_uident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0114 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_uident -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0114 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_path_uident_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0114 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0195 ->
          _menhir_run_0115 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0014 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1276 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1278 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1284 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1286 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1289 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1294 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1388 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1453 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1456 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0139 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0115 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_uident _menhir_cell0_DOT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_DOT (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_uident (_menhir_stack, _menhir_s, uid, _startpos_uid_, _) = _menhir_stack in
      let (_endpos_p_, p) = (_endpos, _v) in
      let _v = _menhir_action_366 p uid in
      _menhir_goto_path_uident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_p_ _startpos_uid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0139 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_ids_, _startpos_ids_, ids) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_423 ids in
      _menhir_goto_quident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_ids_ _startpos_ids_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_quident : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0014 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0016 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0026 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0027 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0028 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0032 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0033 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0034 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0038 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0039 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0041 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0043 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0044 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0045 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0046 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0047 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0050 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0060 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0086 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0090 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0092 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0107 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0108 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0109 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0110 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0111 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0120 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0121 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0131 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0148 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0152 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0154 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0156 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0160 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0163 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0181 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0182 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0183 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0184 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0186 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0192 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0227 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0241 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0242 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0245 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0246 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0250 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0251 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0282 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0283 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0284 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0286 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0288 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0290 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0293 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0297 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0300 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0301 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0304 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0305 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0307 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0308 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0309 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0310 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0312 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0313 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0317 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0318 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0322 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0325 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0327 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0329 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0331 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0335 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0337 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0339 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0341 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0343 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0345 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0347 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0349 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0352 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0354 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0358 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0361 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0363 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0365 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0367 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0369 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0371 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0373 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0376 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0379 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0381 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0385 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0387 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0390 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0393 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0404 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0407 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0411 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0414 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0416 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0418 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0421 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0423 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0483 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0484 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0485 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0492 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0495 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0498 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0500 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0503 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0506 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0513 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0516 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0518 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0521 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0523 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0526 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0536 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0541 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0542 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0544 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0547 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0550 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0561 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0565 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0567 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0569 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0571 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0573 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0575 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0577 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0581 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0582 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0586 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0588 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0590 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0592 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0594 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0596 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0598 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0600 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0604 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0607 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0609 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0612 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0615 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0622 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0631 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0637 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0643 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0649 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0655 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0661 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0674 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0677 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0680 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0685 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0692 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0699 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0703 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0709 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0712 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0715 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0726 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0732 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0735 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0739 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0743 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0745 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0749 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0753 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0756 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0758 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0762 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0765 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0767 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0779 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0780 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0781 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0783 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0784 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0786 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0795 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0800 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0803 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0809 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0811 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0823 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0825 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0827 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0829 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0831 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0833 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0841 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0862 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0864 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0868 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0872 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0875 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0878 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0881 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0883 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0885 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0888 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0892 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0897 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0901 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0917 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0961 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0966 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0971 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0976 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0981 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0989 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0992 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0994 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0997 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0999 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1002 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1009 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1011 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1033 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1042 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1047 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1052 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1057 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1062 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1067 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1072 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1077 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1081 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1091 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1095 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1096 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1097 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1098 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1100 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1102 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1160 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1203 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1208 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1211 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1222 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1223 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1237 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1241 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1245 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1250 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1272 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1274 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1280 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1291 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1368 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1375 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1381 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1410 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1415 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1420 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1425 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1430 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1435 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1440 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1445 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1449 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1460 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1467 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1472 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1546 ->
          _menhir_run_0116 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0063 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0067 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0085 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0094 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0096 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0105 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0189 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0191 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0197 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0219 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0222 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0398 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0400 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0429 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0430 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0488 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0532 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0814 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0903 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0927 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0984 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1020 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1104 ->
          _menhir_run_0200 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0093 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0200 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0432 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0624 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0628 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0634 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0640 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0646 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0652 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0658 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0671 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0682 ->
          _menhir_run_0201 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0035 ->
          _menhir_run_1015 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1230 ->
          _menhir_run_1232 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1233 ->
          _menhir_run_1234 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1276 ->
          _menhir_run_1277 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1278 ->
          _menhir_run_1279 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1284 ->
          _menhir_run_1285 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1286 ->
          _menhir_run_1287 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1289 ->
          _menhir_run_1290 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1294 ->
          _menhir_run_1295 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1388 ->
          _menhir_run_1389 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1391 ->
          _menhir_run_1392 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1386 ->
          _menhir_run_1393 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1453 ->
          _menhir_run_1454 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState1456 ->
          _menhir_run_1457 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0116 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | QMARK_DOT ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0117 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | QMARK ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0119 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | DOT_LPAREN ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT_LPAREN (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0120 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BACKTICK_PERC | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | DOLLAR | DOT_DOT | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WHEN | WITH ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_110 _endpos_id_ _startpos_id_ id in
          _menhir_goto_atomicTermQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0117 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_quident -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _menhir_s = MenhirState0117 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0119 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_quident -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_quident (_menhir_stack, _menhir_s, lid, _startpos_lid_, _endpos_lid_) = _menhir_stack in
      let (_endpos__2_, _startpos__2_) = (_endpos, _startpos) in
      let _v = _menhir_action_396 _endpos__2_ _endpos_lid_ _startpos__2_ _startpos_lid_ lid in
      _menhir_goto_projectionLHS _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__2_ _startpos_lid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0200 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0064 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0200 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0200 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0200 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0200 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0200 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0200 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | REAL _v_6 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0200 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | NAME _v_7 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0200 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0065 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0067 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0085 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | LBRACK_AT_AT_AT ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0096 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | LBRACE ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0097 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | INT8 _v_8 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0200 _menhir_initp
      | INT64 _v_9 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0200 _menhir_initp
      | INT32 _v_10 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0200 _menhir_initp
      | INT16 _v_11 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0200 _menhir_initp
      | INT _v_12 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0200 _menhir_initp
      | IDENT _v_13 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0200 _menhir_initp
      | HASH ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | DOT_DOT ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0190 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | DOLLAR ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | CHAR _v_14 ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0200 _menhir_initp
      | BACKTICK_PERC ->
          let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0192 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0200 _menhir_initp
      | AND_OP _ | BAR | COLON | COLON_COLON | COMMA | EQUALS | IN | LENS_PAREN_RIGHT | RARROW | RBRACE | RBRACK | RPAREN | SEMICOLON | SQUIGGLY_RARROW | WHEN ->
          let (_endpos_uid_, _startpos_uid_, uid) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_092 _endpos_uid_ _startpos_uid_ uid in
          _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos_uid_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0201 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_uid_, _startpos_uid_, uid) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_092 _endpos_uid_ _startpos_uid_ uid in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos_uid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1015 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_OPPREFIX, ttv_result) _menhir_cell1_OPPREFIX as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | QMARK_DOT ->
          _menhir_run_0117 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | QMARK ->
          _menhir_run_0119 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1232 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_SQUIGGLY_RARROW (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1233 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1234 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SUB_EFFECT, ttv_result) _menhir_cell1_quident _menhir_cell0_SQUIGGLY_RARROW as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_LBRACE (_menhir_stack, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | IDENT _v ->
              let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_IDENT (_menhir_stack, _v, _startpos, _endpos) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | EQUALS ->
                  let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
                  let _menhir_s = MenhirState1237 in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | UNDERSCORE ->
                      _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | UINT8 _v ->
                      _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT64 _v ->
                      _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT32 _v ->
                      _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | UINT16 _v ->
                      _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | TRUE ->
                      _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | TILDE _v ->
                      _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | STRING _v ->
                      _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | SIZET _v ->
                      _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | SET_RANGE_OF ->
                      _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | SEQ_BANG_LBRACK ->
                      _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | REIFY ->
                      _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | REAL _v ->
                      _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | RANGE_OF ->
                      _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | QUOTE ->
                      _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | PERCENT_LBRACK ->
                      _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | OPPREFIX _v ->
                      _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | NAME _v ->
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | MINUS ->
                      _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LPAREN_RPAREN ->
                      _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LPAREN ->
                      _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LENS_PAREN_LEFT ->
                      _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACK_AT_AT_AT ->
                      _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACK ->
                      _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACE_BAR ->
                      _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | LBRACE ->
                      _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | INT8 _v ->
                      _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT64 _v ->
                      _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT32 _v ->
                      _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT16 _v ->
                      _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | INT _v ->
                      _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | IDENT _v ->
                      _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | HASH ->
                      _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FUN ->
                      _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FORALL_OP _v ->
                      _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | FORALL ->
                      _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | FALSE ->
                      _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | EXISTS_OP _v ->
                      _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | EXISTS ->
                      _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | DOLLAR ->
                      _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | CHAR _v ->
                      _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | BEGIN ->
                      _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BANG_LBRACE ->
                      _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_PERC ->
                      _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_HASH ->
                      _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK_AT ->
                      _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | BACKTICK ->
                      _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1245 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1277 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_SUBCOMP as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | SUBTYPE ->
          let _menhir_s = MenhirState1278 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1279 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_SUBCOMP, ttv_result) _menhir_cell1_quident as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1280 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1285 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_BIND _menhir_cell0_LPAREN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState1286 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1287 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_BIND _menhir_cell0_LPAREN, ttv_result) _menhir_cell1_quident _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RPAREN ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | PIPE_RIGHT ->
              let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_PIPE_RIGHT (_menhir_stack, _startpos, _endpos) in
              let _menhir_s = MenhirState1289 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1290 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_POLYMONADIC_BIND _menhir_cell0_LPAREN, ttv_result) _menhir_cell1_quident _menhir_cell0_COMMA, ttv_result) _menhir_cell1_quident _menhir_cell0_RPAREN _menhir_cell0_PIPE_RIGHT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1291 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1295 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_OPEN as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          _menhir_run_1296 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1295 _menhir_initp
      | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v_0 = _menhir_action_460 () in
          _menhir_run_1363 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1296 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_quident as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1296 _menhir_initp
      | LPAREN ->
          _menhir_run_1297 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1296 _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1296 _menhir_initp
      | RBRACE ->
          let _v = _menhir_action_467 () in
          _menhir_run_1361 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1389 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_MODULE, ttv_result) _menhir_cell1_UNDERSCORE _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_UNDERSCORE (_menhir_stack, _, _, _) = _menhir_stack in
      let MenhirCell0_MODULE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_uid_, uid) = (_endpos, _v) in
      let _v = _menhir_action_428 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1392 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_MODULE, ttv_result) _menhir_cell1_uident _menhir_cell0_EQUALS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_EQUALS (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_uident (_menhir_stack, _, uid1, _, _) = _menhir_stack in
      let MenhirCell0_MODULE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_uid2_, uid2) = (_endpos, _v) in
      let _v = _menhir_action_429 uid1 uid2 in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid2_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1393 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_MODULE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_MODULE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_uid_, uid) = (_endpos, _v) in
      let _v = _menhir_action_431 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1454 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INCLUDE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_quident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          _menhir_run_1296 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1454 _menhir_initp
      | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v_0 = _menhir_action_460 () in
          _menhir_run_1455 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1457 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_FRIEND -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_FRIEND (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_uid_, uid) = (_endpos, _v) in
      let _v = _menhir_action_426 uid in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_uid_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0172 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_196 x in
      _menhir_goto_ident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0194 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | DOT ->
          let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_DOT (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0195 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AND_OP _ | ASSUME | BACKTICK_PERC | BAR | BLOB _ | CHAR _ | CLASS | COLON | COLON_COLON | COMMA | DOLLAR | DOT_DOT | EFFECT | EOF | EQUALS | EXCEPTION | FALSE | FRIEND | HASH | IDENT _ | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACE_BAR | LBRACK | LBRACK_AT | LBRACK_AT_AT | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RPAREN | SEMICOLON | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBTYPE | SUB_EFFECT | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WHEN ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_365 id in
          _menhir_goto_path_uident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1032 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_ASSUME as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | COLON ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1033 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1202 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_BAR as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | OF ->
          _menhir_run_1203 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1202 _menhir_initp
      | LBRACE ->
          _menhir_run_1205 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1202 _menhir_initp
      | COLON ->
          _menhir_run_1211 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1202 _menhir_initp
      | AND | ASSUME | BAR | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_1213 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1203 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_uident as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _menhir_stack = MenhirCell1_OF (_menhir_stack, _menhir_s) in
      let _menhir_s = MenhirState1203 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1205 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_uident as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState1205 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | LPAREN ->
          _menhir_run_1118 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1211 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_uident as 'stack) -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_COLON (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState1211 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1216 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_BAR, ttv_result) _menhir_cell1_binderAttributes as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | OF ->
          _menhir_run_1203 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1216 _menhir_initp
      | LBRACE ->
          _menhir_run_1205 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1216 _menhir_initp
      | COLON ->
          _menhir_run_1211 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1216 _menhir_initp
      | AND | ASSUME | BAR | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v_0 = _menhir_action_353 () in
          _menhir_run_1217 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_0 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1366 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1366 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1366 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1366 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1366 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1366 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1366 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1366 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1366 _menhir_initp
      | COLON ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1366 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1380 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_NEW_EFFECT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1381 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_1390 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_MODULE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | EQUALS ->
          let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1391 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DOT ->
          let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0114 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let (_endpos_id_, _startpos_id_, id) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_365 id in
          _menhir_goto_path_uident_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_id_ _startpos_id_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1459 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EXCEPTION as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | OF ->
          let _menhir_s = MenhirState1460 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
          let _v = _menhir_action_337 () in
          _menhir_goto_option___anonymous_2_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1465 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT, ttv_result) _menhir_cell1_LBRACE as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1465 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1465 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1465 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1465 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1465 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1465 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1465 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1465 _menhir_initp
      | WITH ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1465 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1470 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_EFFECT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_uident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1470 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1470 _menhir_initp
      | LPAREN ->
          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1470 _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1470 _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1470 _menhir_initp
      | IDENT _v_0 ->
          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1470 _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1470 _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1470 _menhir_initp
      | EQUALS ->
          let _v_1 = _menhir_action_237 () in
          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v_1 MenhirState1470 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_nonempty_list_atomicPattern_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0200 ->
          _menhir_run_0202 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0208 ->
          _menhir_run_0209 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0202 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_quident -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_quident (_menhir_stack, _menhir_s, uid, _startpos_uid_, _endpos_uid_) = _menhir_stack in
      let (_endpos_args_, args) = (_endpos, _v) in
      let _v = _menhir_action_171 _endpos_args_ _endpos_uid_ _startpos_uid_ args uid in
      _menhir_goto_constructorPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_args_ _startpos_uid_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0209 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_atomicPattern -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_atomicPattern (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_297 x xs in
      _menhir_goto_nonempty_list_atomicPattern_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0626 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_pat_, _startpos_pat_, pat) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_190 pat in
      _menhir_goto_genBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_pat_ _startpos_pat_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0142 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_c_, _startpos_c_, c) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_097 _endpos_c_ _startpos_c_ c in
      _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos_c_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0204 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_c_, _startpos_c_, c) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_087 _endpos_c_ _startpos_c_ c in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos_c_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1083 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_VAL -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_VAL (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_c_, c) = (_endpos, _v) in
      let _v = _menhir_action_435 _endpos_c_ _startpos__1_ c in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_c_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0823 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX3R (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0823 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0827 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX3L (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0827 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0829 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_COLON_COLON (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0829 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0825 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_BACKTICK (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0825 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0831 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _menhir_s = MenhirState0831 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_tmEqWith_appTermNoRecordExp_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0130 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0434 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0435 ->
          _menhir_run_0436 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0437 ->
          _menhir_run_0438 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0439 ->
          _menhir_run_0440 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0443 ->
          _menhir_run_0444 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0445 ->
          _menhir_run_0446 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0447 ->
          _menhir_run_0448 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0449 ->
          _menhir_run_0450 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0451 ->
          _menhir_run_0452 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0453 ->
          _menhir_run_0454 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0455 ->
          _menhir_run_0456 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0457 ->
          _menhir_run_0458 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0158 ->
          _menhir_run_0835 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0147 ->
          _menhir_run_0844 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0146 ->
          _menhir_run_0845 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0434 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0435 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0447 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | OPINFIX0c _v_3 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0449 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
      | OPINFIX0b _v_4 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0451 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 _menhir_initp
      | OPINFIX0a _v_5 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | COLON_EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COLON_EQUALS (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0457 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | BAR | BAR_RBRACE | COMMA | LBRACE | RARROW | RPAREN ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_609 e in
          _menhir_goto_tmEqNoRefinement _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0435 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_PIPE_RIGHT (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0435 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0437 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_PIPE_LEFT (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0437 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0439 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX2 (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0439 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0443 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX1 (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0443 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0447 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX0d (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0447 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0449 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX0c (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0449 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0451 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX0b (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0451 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0455 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_OPINFIX0a (_menhir_stack, _v, _startpos, _endpos) in
      let _menhir_s = MenhirState0455 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0445 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_MINUS (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0445 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0453 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
      let _menhir_s = MenhirState0453 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_tmEqNoRefinement : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0130 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0467 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0459 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0469 ->
          _menhir_run_0470 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0471 ->
          _menhir_run_0472 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0473 ->
          _menhir_run_0474 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0151 ->
          _menhir_run_0836 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | MenhirState0848 ->
          _menhir_run_0849 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0849 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0851 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0852 ->
          _menhir_run_0851 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0459 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR | BAR_RBRACE | COMMA | LBRACE | RPAREN ->
          let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_538 e in
          _menhir_goto_simpleArrow _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
      | RARROW ->
          let (_endpos_dom_tm_, _startpos_dom_tm_, dom_tm) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_540 dom_tm in
          _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_dom_tm_ _startpos_dom_tm_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_goto_simpleArrow : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0467 ->
          _menhir_run_0468 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0475 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0475 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0475 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0475 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState0478 ->
          _menhir_run_0479 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0665 ->
          _menhir_run_0666 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0130 ->
          _menhir_run_0846 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0939 ->
          _menhir_run_0940 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0951 ->
          _menhir_run_0952 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0468 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_simpleArrowDomain _menhir_cell0_RARROW -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_RARROW (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_simpleArrowDomain (_menhir_stack, _menhir_s, dom, _startpos_dom_, _endpos_dom_) = _menhir_stack in
      let (_endpos_tgt_, _startpos_tgt_, tgt) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_537 _endpos_dom_ _endpos_tgt_ _startpos_dom_ _startpos_tgt_ dom tgt in
      _menhir_goto_simpleArrow _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tgt_ _startpos_dom_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0475 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      _menhir_act_goto_576 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _tok _menhir_initp _endpos _v
  
  and _menhir_act_goto_576 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _tok _menhir_initp _endpos_t_ t ->
      match _menhir_s with
      | MenhirState0150 ->
          let MenhirCell1_LBRACE_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_576 _endpos__0_ _endpos_t_ t in
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          let MenhirCell1_LBRACE_BAR (_, _, _, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_576 _endpos__0_ _endpos_t_ t in
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          let MenhirCell0_COMMA (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_576 _endpos__0_ _endpos_t_ t in
          _menhir_run_0464 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          let MenhirCell0_COMMA (_, _endpos__0_) = _menhir_stack in
          let _v = _menhir_action_576 _endpos__0_ _endpos_t_ t in
          _menhir_run_0464 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0462 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_tc_constraint (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0463 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0463 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0463 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0463 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | TILDE _v_4 ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0463 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0463 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0463 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0463 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0463 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0463 _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0463 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0463 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0463 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0463 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0463 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0463 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | CHAR _v_16 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0463 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0463 _menhir_initp
          | BAR_RBRACE ->
              let _v_17 = _menhir_action_489 () in
              _menhir_run_0480 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 _menhir_initp
          | _ ->
              _eRR ())
      | BAR_RBRACE ->
          let x = _v in
          let _v = _menhir_action_513 x in
          _menhir_goto_right_flexible_nonempty_list_COMMA_tc_constraint_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0480 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR, ttv_result) _menhir_cell1_tc_constraint _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tc_constraint (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_514 x xs in
      _menhir_goto_right_flexible_nonempty_list_COMMA_tc_constraint_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_nonempty_list_COMMA_tc_constraint_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let constraints = _v in
      let _v = _menhir_action_578 constraints in
      _menhir_goto_tc_constraints _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_tc_constraints : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0433 ->
          _menhir_run_0460 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0150 ->
          _menhir_run_0838 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0460 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos__3_, constraints) = (_endpos, _v) in
      let _v = _menhir_action_189 constraints in
      _menhir_goto_genBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0838 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let constraints = _v in
      let _v = _menhir_action_249 constraints in
      _menhir_goto_multiBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0464 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tc_constraint _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_tc_constraint (_menhir_stack, _menhir_s, _v) in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0042 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0465 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0465 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0465 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0465 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | TILDE _v_4 ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0465 _menhir_initp
          | STRING _v_5 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0465 _menhir_initp
          | SIZET _v_6 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0465 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | REAL _v_7 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0465 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | OPPREFIX _v_8 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0465 _menhir_initp
          | NAME _v_9 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0465 _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | INT8 _v_10 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0465 _menhir_initp
          | INT64 _v_11 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0465 _menhir_initp
          | INT32 _v_12 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0465 _menhir_initp
          | INT16 _v_13 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0465 _menhir_initp
          | INT _v_14 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0465 _menhir_initp
          | IDENT _v_15 ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0465 _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | CHAR _v_16 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0465 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0465 _menhir_initp
          | BAR_RBRACE ->
              let _v_17 = _menhir_action_489 () in
              _menhir_run_0476 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 _menhir_initp
          | _ ->
              _eRR ())
      | BAR_RBRACE ->
          let x = _v in
          let _v = _menhir_action_490 x in
          _menhir_goto_right_flexible_list_COMMA_tc_constraint_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0476 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tc_constraint _menhir_cell0_COMMA, ttv_result) _menhir_cell1_tc_constraint _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tc_constraint (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_491 x xs in
      _menhir_goto_right_flexible_list_COMMA_tc_constraint_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_COMMA_tc_constraint_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tc_constraint _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0465 ->
          _menhir_run_0476 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0480 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0479 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_lidentOrUnderscore _menhir_cell0_COLON -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_lidentOrUnderscore (_menhir_stack, _menhir_s, id, _startpos_id_, _) = _menhir_stack in
      let (_endpos_t_, t) = (_endpos, _v) in
      let _v = _menhir_action_577 _endpos_t_ _startpos_id_ id t in
      _menhir_goto_tc_constraint _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_tc_constraint : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0150 ->
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0433 ->
          _menhir_run_0462 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0463 ->
          _menhir_run_0464 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState0465 ->
          _menhir_run_0464 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0666 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_tuplePattern _menhir_cell0_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_simpleArrow (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          _menhir_run_0300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0666 _menhir_initp
      | RPAREN ->
          let _menhir_s = MenhirState0666 in
          let _v = _menhir_action_335 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0846 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_simpleArrow (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          _menhir_run_0300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0846 _menhir_initp
      | BAR | RPAREN ->
          let _menhir_s = MenhirState0846 in
          let _v = _menhir_action_335 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0940 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_tuplePattern _menhir_cell0_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_simpleArrow (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          _menhir_run_0300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0940 _menhir_initp
      | BAR | RPAREN ->
          let _menhir_s = MenhirState0940 in
          let _v = _menhir_action_335 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0952 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_aqualifiedWithAttrs_lidentOrUnderscore_, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_simpleArrow (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          _menhir_run_0300 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0952 _menhir_initp
      | BAR | RPAREN ->
          let _menhir_s = MenhirState0952 in
          let _v = _menhir_action_335 () in
          _menhir_goto_option___anonymous_12_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_simpleArrowDomain : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_simpleArrowDomain (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | RARROW ->
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_RARROW (_menhir_stack, _endpos) in
          let _menhir_s = MenhirState0467 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0151 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0470 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_dom_tm_, dom_tm) = (_endpos, _v) in
      let _v = _menhir_action_541 dom_tm x in
      _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_dom_tm_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0472 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_aqual -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_dom_tm_, dom_tm) = (_endpos, _v) in
      let _v = _menhir_action_542 dom_tm x in
      _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_dom_tm_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0474 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_aqual, ttv_result) _menhir_cell1_binderAttributes -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_binderAttributes (_menhir_stack, _, x_inlined1, _) = _menhir_stack in
      let MenhirCell1_aqual (_menhir_stack, _menhir_s, x, _startpos_x_) = _menhir_stack in
      let (_endpos_dom_tm_, dom_tm) = (_endpos, _v) in
      let _v = _menhir_action_543 dom_tm x x_inlined1 in
      _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_dom_tm_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0836 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_LBRACE_BAR -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | BAR_RBRACE ->
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let MenhirCell1_LBRACE_BAR (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
          let (_endpos__3_, t) = (_endpos_0, _v) in
          let _v = _menhir_action_539 t in
          _menhir_goto_simpleArrowDomain _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__3_ _startpos__1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0849 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_tmEqNoRefinement (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0850 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0850 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0850 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0850 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | TILDE _v_5 ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0850 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0850 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0850 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0850 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0850 _menhir_initp
          | NAME _v_10 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0850 _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | INT8 _v_11 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0850 _menhir_initp
          | INT64 _v_12 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0850 _menhir_initp
          | INT32 _v_13 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0850 _menhir_initp
          | INT16 _v_14 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0850 _menhir_initp
          | INT _v_15 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0850 _menhir_initp
          | IDENT _v_16 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0850 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | CHAR _v_17 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0850 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0850 _menhir_initp
          | RPAREN ->
              let _v_18 = _menhir_action_492 () in
              _menhir_run_0854 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 _menhir_initp
          | _ ->
              _eRR ())
      | RPAREN ->
          let x = _v in
          let _v = _menhir_action_515 x in
          _menhir_goto_right_flexible_nonempty_list_COMMA_tmEqNoRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0854 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqNoRefinement _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmEqNoRefinement (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_516 x xs in
      _menhir_goto_right_flexible_nonempty_list_COMMA_tmEqNoRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_nonempty_list_COMMA_tmEqNoRefinement_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0848 ->
          _menhir_run_0855 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0942 ->
          _menhir_run_0943 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0855 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow, ttv_result) _menhir_cell1_refineOpt, ttv_result) _menhir_cell1_BAR -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell1_BAR (_menhir_stack, _menhir_s, _) = _menhir_stack in
      let constraints = _v in
      let _v = _menhir_action_688 constraints in
      _menhir_goto_type_tc_constraints _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_type_tc_constraints : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_nonempty_list_aqualifiedWithAttrs_lidentOrUnderscore__ _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow, ttv_result) _menhir_cell1_refineOpt as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0847 ->
          _menhir_run_0856 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0953 ->
          _menhir_run_0954 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0943 : type  ttv_stack ttv_result. ((((ttv_stack, ttv_result) _menhir_cell1_LPAREN, ttv_result) _menhir_cell1_tuplePattern _menhir_cell0_COLON, ttv_result) _menhir_cell1_simpleArrow, ttv_result) _menhir_cell1_refineOpt _menhir_cell0_BAR -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let MenhirCell0_BAR (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_refineOpt (_menhir_stack, _, r, _, _) = _menhir_stack in
      let MenhirCell1_simpleArrow (_menhir_stack, _, t, _startpos_t_, _endpos_t_) = _menhir_stack in
      let MenhirCell0_COLON (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_tuplePattern (_menhir_stack, _, pat, _startpos_pat_, _endpos_pat_) = _menhir_stack in
      let MenhirCell1_LPAREN (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos__8_, cts) = (_endpos, _v) in
      let _v = _menhir_action_192 _endpos__8_ _endpos_pat_ _endpos_t_ _startpos__1_ _startpos_pat_ _startpos_t_ cts pat r t in
      _menhir_goto_genBinder _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__8_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0851 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqNoRefinement _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | COMMA ->
          let _menhir_stack = MenhirCell1_tmEqNoRefinement (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _endpos_0 = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_COMMA (_menhir_stack, _endpos_0) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | UINT8 _v_1 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0852 _menhir_initp
          | UINT64 _v_2 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0852 _menhir_initp
          | UINT32 _v_3 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0852 _menhir_initp
          | UINT16 _v_4 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0852 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | TILDE _v_5 ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0852 _menhir_initp
          | STRING _v_6 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0852 _menhir_initp
          | SIZET _v_7 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0852 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | REAL _v_8 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0852 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | QUOTE ->
              _menhir_run_0146 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | OPPREFIX _v_9 ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0852 _menhir_initp
          | NAME _v_10 ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0852 _menhir_initp
          | MINUS ->
              _menhir_run_0147 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | INT8 _v_11 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0852 _menhir_initp
          | INT64 _v_12 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0852 _menhir_initp
          | INT32 _v_13 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0852 _menhir_initp
          | INT16 _v_14 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0852 _menhir_initp
          | INT _v_15 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0852 _menhir_initp
          | IDENT _v_16 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState0852 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | CHAR _v_17 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_17 MenhirState0852 _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0154 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0156 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | BACKTICK ->
              _menhir_run_0158 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0852 _menhir_initp
          | RPAREN ->
              let _v_18 = _menhir_action_492 () in
              _menhir_run_0853 _menhir_stack _menhir_lexbuf _menhir_lexer _v_18 _menhir_initp
          | _ ->
              _eRR ())
      | RPAREN ->
          let x = _v in
          let _v = _menhir_action_493 x in
          _menhir_goto_right_flexible_list_COMMA_tmEqNoRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0853 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqNoRefinement _menhir_cell0_COMMA, ttv_result) _menhir_cell1_tmEqNoRefinement _menhir_cell0_COMMA -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp ->
      let MenhirCell0_COMMA (_menhir_stack, _) = _menhir_stack in
      let MenhirCell1_tmEqNoRefinement (_menhir_stack, _menhir_s, x, _, _) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_494 x xs in
      _menhir_goto_right_flexible_list_COMMA_tmEqNoRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
  
  and _menhir_goto_right_flexible_list_COMMA_tmEqNoRefinement_ : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqNoRefinement _menhir_cell0_COMMA as 'stack) -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      match _menhir_s with
      | MenhirState0852 ->
          _menhir_run_0853 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | MenhirState0850 ->
          _menhir_run_0854 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0436 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_PIPE_RIGHT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | EQUALS | LBRACE | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_PIPE_RIGHT (_menhir_stack, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (op, _endpos_e2_, e2) = ((), _endpos, _v) in
          let _v = _menhir_action_613 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0438 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_PIPE_LEFT as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | EQUALS | LBRACE | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_PIPE_LEFT (_menhir_stack, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (op, _endpos_e2_, e2) = ((), _endpos, _v) in
          let _v = _menhir_action_612 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0440 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX2 -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell0_OPINFIX2 (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
      let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_619 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0444 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX1 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | EQUALS | LBRACE | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX1 (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_618 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0446 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_MINUS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_MINUS (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
      let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
      let (tok, _endpos_e2_, e2) = ((), _endpos, _v) in
      let _v = _menhir_action_620 _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0448 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX0d as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0435 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | EQUALS | LBRACE | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX0d (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_617 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0450 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX0c as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0435 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0447 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | EQUALS | LBRACE | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX0c (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_616 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0452 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX0b as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0435 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0447 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | OPINFIX0c _v_3 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0449 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | LBRACE | OPINFIX0a _ | OPINFIX0b _ | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX0b (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_615 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0454 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_EQUALS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0435 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0447 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | EQUALS | LBRACE | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | RARROW | RPAREN ->
          let MenhirCell0_EQUALS (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (tok, _endpos_e2_, e2) = ((), _endpos, _v) in
          let _v = _menhir_action_610 _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0456 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX0a as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0435 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0447 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | OPINFIX0c _v_3 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0449 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
      | OPINFIX0b _v_4 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0451 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | LBRACE | OPINFIX0a _ | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX0a (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_614 _endpos_e1_ _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_e2_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0458 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmEqWith_appTermNoRecordExp_ _menhir_cell0_COLON_EQUALS as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | PIPE_RIGHT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0435 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | PIPE_LEFT ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0437 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | OPINFIX2 _v_0 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0439 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX1 _v_1 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0443 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX0d _v_2 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0447 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | OPINFIX0c _v_3 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0449 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 _menhir_initp
      | OPINFIX0b _v_4 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0451 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 _menhir_initp
      | OPINFIX0a _v_5 ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0455 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 _menhir_initp
      | MINUS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0445 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | EQUALS ->
          let _menhir_stack = MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0453 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COMMA | LBRACE | RARROW | RPAREN ->
          let MenhirCell0_COLON_EQUALS (_menhir_stack, _startpos_tok_, _endpos_tok_) = _menhir_stack in
          let MenhirCell1_tmEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (tok, _endpos_e2_, e2) = ((), _endpos, _v) in
          let _v = _menhir_action_611 _endpos_e2_ _endpos_tok_ _startpos_e1_ _startpos_tok_ e1 e2 tok in
          _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0835 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK (_menhir_stack, _menhir_s, _startpos__1_, _) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_623 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0844 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_MINUS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_MINUS (_menhir_stack, _menhir_s, _startpos_tok_, _endpos_tok_) = _menhir_stack in
      let (_endpos_e_, e, tok) = (_endpos, _v, ()) in
      let _v = _menhir_action_621 _endpos_e_ _endpos_tok_ _startpos_tok_ e tok in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_tok_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0845 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_QUOTE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_QUOTE (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_622 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0161 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX4 as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | AMP | BACKTICK | BAR | BAR_RBRACE | COLON_COLON | COLON_EQUALS | COMMA | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX4 (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_655 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0824 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX3R as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0823 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0825 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | BAR | BAR_RBRACE | COLON_COLON | COLON_EQUALS | COMMA | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX3R (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_654 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0826 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_BACKTICK as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          _menhir_run_0823 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          _menhir_run_0827 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          _menhir_run_0829 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BACKTICK ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_BACKTICK (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0833 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0131 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0148 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0152 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP ->
          _menhir_run_0831 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0828 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_OPINFIX3L as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0823 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0825 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP | BAR | BAR_RBRACE | COLON_COLON | COLON_EQUALS | COMMA | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_OPINFIX3L (_menhir_stack, op, _startpos_op_, _endpos_op_) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_653 _endpos_e2_ _endpos_op_ _startpos_e1_ _startpos_op_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0830 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_COLON_COLON as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0823 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0827 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | COLON_COLON ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0829 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0825 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0831 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_EQUALS | COMMA | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_COLON_COLON (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_651 _endpos_e2_ _startpos_e1_ e1 e2 in
          _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0832 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | OPINFIX3R _v_1 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0823 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 _menhir_initp
      | OPINFIX3L _v_2 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0827 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 _menhir_initp
      | BACKTICK ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0825 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | AMP ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0831 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_initp
      | BAR | BAR_RBRACE | COLON_COLON | COLON_EQUALS | COMMA | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _endpos_e1_) = _menhir_stack in
          let (_endpos_e2_, _startpos_e2_, e2) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_652 _endpos_e1_ _endpos_e2_ _startpos_e1_ _startpos_e2_ e1 e2 in
          _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0834 : type  ttv_stack ttv_result. (((ttv_stack, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_BACKTICK, ttv_result) _menhir_cell1_tmNoEqWith_appTermNoRecordExp_ _menhir_cell0_BACKTICK as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | OPINFIX4 _v_0 ->
          let _menhir_stack = MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0160 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 _menhir_initp
      | AMP | BACKTICK | BAR | BAR_RBRACE | COLON_COLON | COLON_EQUALS | COMMA | EQUALS | LBRACE | MINUS | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | PIPE_LEFT | PIPE_RIGHT | RARROW | RPAREN ->
          let MenhirCell0_BACKTICK (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _, op, _, _) = _menhir_stack in
          let MenhirCell0_BACKTICK (_menhir_stack, _, _) = _menhir_stack in
          let MenhirCell1_tmNoEqWith_appTermNoRecordExp_ (_menhir_stack, _menhir_s, e1, _startpos_e1_, _) = _menhir_stack in
          let (_endpos_e2_, e2) = (_endpos, _v) in
          let _v = _menhir_action_656 _endpos_e2_ _startpos_e1_ e1 e2 op in
          _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e2_ _startpos_e1_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0153 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK_PERC -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK_PERC (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_657 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmNoEqNoRecordWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0155 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK_HASH -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK_HASH (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_625 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0157 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK_AT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK_AT (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_624 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_appTermNoRecordExp_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0193 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK_PERC -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK_PERC (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_q_, q) = (_endpos, _v) in
      let _v = _menhir_action_089 _endpos_q_ _startpos__1_ q in
      _menhir_goto_atomicPattern _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_q_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0285 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK_PERC -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK_PERC (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_666 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0287 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK_HASH -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK_HASH (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_642 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0289 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_BACKTICK_AT -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_BACKTICK_AT (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_641 _endpos_e_ _startpos__1_ e in
      _menhir_goto_tmEqWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0298 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_200 e in
      _menhir_goto_indexingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_e_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0311 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_CALC as 'stack) -> _ -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | LBRACE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_LBRACE (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState0312 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | _ ->
          _eRR ()
  
  and _menhir_run_0315 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | UINT8 _v_0 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0315 _menhir_initp
      | UINT64 _v_1 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0315 _menhir_initp
      | UINT32 _v_2 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0315 _menhir_initp
      | UINT16 _v_3 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0315 _menhir_initp
      | TRUE ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | STRING _v_4 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0315 _menhir_initp
      | SIZET _v_5 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0315 _menhir_initp
      | SET_RANGE_OF ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | SEQ_BANG_LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | REIFY ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | REAL _v_6 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0315 _menhir_initp
      | RANGE_OF ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | PERCENT_LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | OPPREFIX _v_7 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0315 _menhir_initp
      | NAME _v_8 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0315 _menhir_initp
      | LPAREN_RPAREN ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | LPAREN ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | INT8 _v_9 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0315 _menhir_initp
      | INT64 _v_10 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0315 _menhir_initp
      | INT32 _v_11 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0315 _menhir_initp
      | INT16 _v_12 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0315 _menhir_initp
      | INT _v_13 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0315 _menhir_initp
      | IDENT _v_14 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0315 _menhir_initp
      | FALSE ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | CHAR _v_15 ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0315 _menhir_initp
      | BEGIN ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | BANG_LBRACE ->
          let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0315 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_298 x in
          _menhir_goto_nonempty_list_atomicTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_goto_nonempty_list_atomicTerm_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0313 ->
          _menhir_run_0314 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0315 ->
          _menhir_run_0316 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0314 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_ATTRIBUTES -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_ATTRIBUTES (_menhir_stack, _menhir_s, _startpos__1_, _endpos__1_) = _menhir_stack in
      let (_endpos_es_, _startpos_es_, es) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_268 _endpos__1_ _endpos_es_ _startpos__1_ _startpos_es_ es in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_es_ _startpos__1_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0316 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_atomicTerm -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_299 x xs in
      _menhir_goto_nonempty_list_atomicTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0619 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_COLON, ttv_result) _menhir_cell1_tmArrow_tmNoEq_ -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_677 x in
      _menhir_goto_trailingTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _tok _menhir_initp
  
  and _menhir_run_0719 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let t = _v in
      let _v = _menhir_action_144 t in
      _menhir_goto_calcRel _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_0728 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0017 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | UINT8 _v_0 ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState0728 _menhir_initp
      | UINT64 _v_1 ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState0728 _menhir_initp
      | UINT32 _v_2 ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState0728 _menhir_initp
      | UINT16 _v_3 ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState0728 _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | STRING _v_4 ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState0728 _menhir_initp
      | SIZET _v_5 ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState0728 _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | REAL _v_6 ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState0728 _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | OPPREFIX _v_7 ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v_7 MenhirState0728 _menhir_initp
      | NAME _v_8 ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_8 MenhirState0728 _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LPAREN ->
          _menhir_run_0038 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | INT8 _v_9 ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_9 MenhirState0728 _menhir_initp
      | INT64 _v_10 ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_10 MenhirState0728 _menhir_initp
      | INT32 _v_11 ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_11 MenhirState0728 _menhir_initp
      | INT16 _v_12 ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_12 MenhirState0728 _menhir_initp
      | INT _v_13 ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState0728 _menhir_initp
      | IDENT _v_14 ->
          _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_14 MenhirState0728 _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | CHAR _v_15 ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState0728 _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0728 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BAR | BAR_RBRACE | BAR_RBRACK | BLOB _ | BY | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | FRIEND | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_RIGHT | LET | LOGIC | MINUS | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RARROW | RBRACE | RBRACK | REFLECTABLE | REIFIABLE | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SPLICE | SPLICET | SQUIGGLY_RARROW | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let _v_16 = _menhir_action_225 () in
          _menhir_run_0729 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_16 _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0729 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_atomicTerm -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_atomicTerm (_menhir_stack, _menhir_s, x, _startpos_x_, _) = _menhir_stack in
      let (_endpos_xs_, xs) = (_endpos, _v) in
      let _v = _menhir_action_226 x xs in
      _menhir_goto_list_atomicTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_xs_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list_atomicTerm_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0726 ->
          _menhir_run_0727 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp
      | MenhirState0728 ->
          _menhir_run_0729 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState0870 ->
          _menhir_run_0871 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp
      | MenhirState0091 ->
          _menhir_run_0968 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_0896 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_TILDE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_TILDE (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, e) = (_endpos, _v) in
      let _v = _menhir_action_667 _endpos_e_ _endpos_op_ _startpos_op_ e op in
      _menhir_goto_tmNoEqNoRecordWith_tmRefinement_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_e_ _startpos_op_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1016 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_SYNTH -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_SYNTH (_menhir_stack, _menhir_s, _startpos_s_, _endpos_s_) = _menhir_stack in
      let (s, _endpos_tactic_, tactic) = ((), _endpos, _v) in
      let _v = _menhir_action_282 _endpos_s_ _endpos_tactic_ _startpos_s_ s tactic in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tactic_ _startpos_s_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1025 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_t_, _startpos_t_, t) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_583 _endpos_t_ _startpos_t_ t in
      _menhir_goto_thunk_atomicTerm_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_thunk_atomicTerm_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0016 ->
          _menhir_run_1024 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1258 ->
          _menhir_run_1259 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1024 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_UNDERSCORE -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell1_UNDERSCORE (_menhir_stack, _menhir_s, _startpos_u_, _endpos_u_) = _menhir_stack in
      let (u, _endpos_tactic_, tactic) = ((), _endpos, _v) in
      let _v = _menhir_action_281 _endpos_tactic_ _endpos_u_ _startpos_u_ tactic u in
      _menhir_goto_noSeqTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_tactic_ _startpos_u_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1259 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICE _menhir_cell0_LBRACK, ttv_result) _menhir_cell1_right_flexible_list_SEMICOLON_ident_ _menhir_cell0_RBRACK -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACK (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_right_flexible_list_SEMICOLON_ident_ (_menhir_stack, _, ids) = _menhir_stack in
      let MenhirCell0_LBRACK (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_SPLICE (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, t) = (_endpos, _v) in
      let _v = _menhir_action_445 ids t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1251 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_SPLICET _menhir_cell0_LBRACK, ttv_result) _menhir_cell1_right_flexible_list_SEMICOLON_ident_ _menhir_cell0_RBRACK -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_RBRACK (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell1_right_flexible_list_SEMICOLON_ident_ (_menhir_stack, _, ids) = _menhir_stack in
      let MenhirCell0_LBRACK (_menhir_stack, _, _) = _menhir_stack in
      let MenhirCell0_SPLICET (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_t_, t) = (_endpos, _v) in
      let _v = _menhir_action_446 ids t in
      _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_t_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_0185 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | DOT_LPAREN ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0186 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | DOT_LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0500 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | DOT_LBRACK_BAR ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0503 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | DOT_LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          _menhir_run_0506 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0185 _menhir_initp
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_093 x in
          _menhir_goto_atomicTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0494 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _menhir_s _tok _menhir_initp ->
      match (_tok : MenhirBasics.token) with
      | DOT_LPAREN ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0494 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_DOT_LPAREN (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0495 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DOT_LENS_PAREN_LEFT ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0494 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_DOT_LENS_PAREN_LEFT (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0513 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DOT_LBRACK_BAR ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0494 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_DOT_LBRACK_BAR (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0518 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | DOT_LBRACK ->
          let _menhir_stack = MenhirCell1_atomicTermNotQUident (_menhir_stack, _menhir_s, _v, _startpos, _endpos) in
          let _menhir_s = MenhirState0494 in
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell1_DOT_LBRACK (_menhir_stack, _menhir_s, _startpos, _endpos) in
          let _menhir_s = MenhirState0523 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | AMP | AND | AND_OP _ | AS | ASSUME | BACKTICK | BANG_LBRACE | BAR | BAR_RBRACE | BAR_RBRACK | BEGIN | BLOB _ | BY | CHAR _ | CLASS | COLON_COLON | COLON_EQUALS | COMMA | CONJUNCTION | DISJUNCTION | EFFECT | ELSE | END | EOF | EQUALS | EQUALTYPE | EXCEPTION | EXISTS | EXISTS_OP _ | FALSE | FORALL | FORALL_OP _ | FRIEND | FUN | HASH | IDENT _ | IFF | IMPLIES | IN | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | IRREDUCIBLE | LAYERED_EFFECT | LBRACE | LBRACK | LBRACK_AT | LBRACK_AT_AT | LENS_PAREN_LEFT | LENS_PAREN_RIGHT | LET | LOGIC | LPAREN | LPAREN_RPAREN | MINUS | MODULE | NAME _ | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | OPINFIX0a _ | OPINFIX0b _ | OPINFIX0c _ | OPINFIX0d _ | OPINFIX1 _ | OPINFIX2 _ | OPINFIX3L _ | OPINFIX3R _ | OPINFIX4 _ | OPPREFIX _ | PERCENT_LBRACK | PIPE_LEFT | PIPE_RIGHT | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | RANGE_OF | RARROW | RBRACE | RBRACK | REAL _ | REFLECTABLE | REIFIABLE | REIFY | RETURNS | RETURNS_EQ | RPAREN | SEMICOLON | SEMICOLON_OP _ | SEQ_BANG_LBRACK | SET_RANGE_OF | SIZET _ | SPLICE | SPLICET | SQUIGGLY_RARROW | STRING _ | SUBKIND | SUBTYPE | SUB_EFFECT | THEN | TOTAL | TRUE | TYPE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE | UNFOLD | UNFOLDABLE | UNIV_HASH | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL | WITH ->
          let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
          let _v = _menhir_action_093 x in
          _menhir_goto_atomicTerm _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_0900 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_OPPREFIX -> _ -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _startpos _v _tok _menhir_initp ->
      let MenhirCell1_OPPREFIX (_menhir_stack, _menhir_s, op, _startpos_op_, _endpos_op_) = _menhir_stack in
      let (_endpos_e_, _startpos_e_, e) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_323 _endpos_e_ _endpos_op_ _startpos_e_ _startpos_op_ e op in
      let (_endpos, _startpos) = (_endpos_e_, _startpos_op_) in
      let (_endpos_x_, _startpos_x_, x) = (_endpos, _startpos, _v) in
      let _v = _menhir_action_098 x in
      _menhir_goto_atomicTermNotQUident _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _startpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1028 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_412 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1029 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_410 () in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1030 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
      let _v = _menhir_action_408 _endpos__1_ _startpos__1_ in
      _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_run_1486 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_decoration -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp ->
      let MenhirCell1_decoration (_menhir_stack, _menhir_s, x) = _menhir_stack in
      let xs = _v in
      let _v = _menhir_action_236 x xs in
      _menhir_goto_list_decoration_ _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_list_decoration_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState0000 ->
          _menhir_run_1036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1488 ->
          _menhir_run_1036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1490 ->
          _menhir_run_1036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | MenhirState1484 ->
          _menhir_run_1486 _menhir_stack _menhir_lexbuf _menhir_lexer _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1036 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_list_decoration_ (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | VAL ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_VAL (_menhir_stack, _startpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UINT8 _v_0 ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v_0 MenhirState1037 _menhir_initp
          | UINT64 _v_1 ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v_1 MenhirState1037 _menhir_initp
          | UINT32 _v_2 ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v_2 MenhirState1037 _menhir_initp
          | UINT16 _v_3 ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v_3 MenhirState1037 _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
          | STRING _v_4 ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v_4 MenhirState1037 _menhir_initp
          | SIZET _v_5 ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v_5 MenhirState1037 _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
          | REAL _v_6 ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v_6 MenhirState1037 _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
          | LPAREN ->
              let _startpos_7 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1037, _startpos_7, _endpos) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | TILDE _v_8 ->
                  let _startpos_9 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_10 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1038, _v_8, _startpos_9, _endpos_10) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_11 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_12 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_11, _endpos_12) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1040 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1040 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1040 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1040 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1040 _menhir_initp
                      | IDENT _v_13 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_13 MenhirState1040 _menhir_initp
                      | HASH ->
                          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1040 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1040 _menhir_initp
                      | COLON ->
                          let _v_14 = _menhir_action_237 () in
                          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_12 _endpos_12 _v_14 MenhirState1040 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | OP_MIXFIX_ASSIGNMENT _v_15 ->
                  _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_15 MenhirState1038 _menhir_initp
              | OP_MIXFIX_ACCESS _v_16 ->
                  _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_16 MenhirState1038 _menhir_initp
              | OPPREFIX _v_17 ->
                  let _startpos_18 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_19 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1038, _v_17, _startpos_18, _endpos_19) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_20 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_21 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_20, _endpos_21) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1045 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1045 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1045 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1045 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1045 _menhir_initp
                      | IDENT _v_22 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_22 MenhirState1045 _menhir_initp
                      | HASH ->
                          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1045 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1045 _menhir_initp
                      | COLON ->
                          let _v_23 = _menhir_action_237 () in
                          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_21 _endpos_21 _v_23 MenhirState1045 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | OPINFIX4 _v_24 ->
                  _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_24 MenhirState1038 _menhir_initp
              | OPINFIX3R _v_25 ->
                  _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_25 MenhirState1038 _menhir_initp
              | OPINFIX3L _v_26 ->
                  _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_26 MenhirState1038 _menhir_initp
              | OPINFIX2 _v_27 ->
                  _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_27 MenhirState1038 _menhir_initp
              | OPINFIX1 _v_28 ->
                  _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_28 MenhirState1038 _menhir_initp
              | OPINFIX0d _v_29 ->
                  _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_29 MenhirState1038 _menhir_initp
              | OPINFIX0c _v_30 ->
                  _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_30 MenhirState1038 _menhir_initp
              | OPINFIX0b _v_31 ->
                  _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_31 MenhirState1038 _menhir_initp
              | OPINFIX0a _v_32 ->
                  _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_32 MenhirState1038 _menhir_initp
              | MINUS ->
                  let _startpos_33 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_34 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1038, _startpos_33, _endpos_34) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_35 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_36 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_35, _endpos_36) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1050 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1050 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1050 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1050 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1050 _menhir_initp
                      | IDENT _v_37 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_37 MenhirState1050 _menhir_initp
                      | HASH ->
                          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1050 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1050 _menhir_initp
                      | COLON ->
                          let _v_38 = _menhir_action_237 () in
                          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_36 _endpos_36 _v_38 MenhirState1050 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | LET_OP _v_39 ->
                  let _startpos_40 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_41 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1038, _v_39, _startpos_40, _endpos_41) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_42 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_43 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_42, _endpos_43) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
                      | IDENT _v_44 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_44 MenhirState1055 _menhir_initp
                      | HASH ->
                          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1055 _menhir_initp
                      | COLON ->
                          let _v_45 = _menhir_action_237 () in
                          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_43 _endpos_43 _v_45 MenhirState1055 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | IMPLIES ->
                  _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1038 _menhir_initp
              | IFF ->
                  _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1038 _menhir_initp
              | FORALL_OP _v_46 ->
                  let _startpos_47 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_48 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1038, _v_46, _startpos_47, _endpos_48) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_49 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_50 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_49, _endpos_50) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
                      | IDENT _v_51 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_51 MenhirState1060 _menhir_initp
                      | HASH ->
                          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1060 _menhir_initp
                      | COLON ->
                          let _v_52 = _menhir_action_237 () in
                          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_50 _endpos_50 _v_52 MenhirState1060 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | EXISTS_OP _v_53 ->
                  let _startpos_54 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_55 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1038, _v_53, _startpos_54, _endpos_55) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_56 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_57 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_56, _endpos_57) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1065 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1065 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1065 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1065 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1065 _menhir_initp
                      | IDENT _v_58 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_58 MenhirState1065 _menhir_initp
                      | HASH ->
                          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1065 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1065 _menhir_initp
                      | COLON ->
                          let _v_59 = _menhir_action_237 () in
                          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_57 _endpos_57 _v_59 MenhirState1065 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | EQUALS ->
                  _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1038 _menhir_initp
              | DISJUNCTION ->
                  _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1038 _menhir_initp
              | CONJUNCTION ->
                  _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1038 _menhir_initp
              | COLON_EQUALS ->
                  _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1038 _menhir_initp
              | COLON_COLON ->
                  _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1038 _menhir_initp
              | AND_OP _v_60 ->
                  let _startpos_61 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos_62 = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState1038, _v_60, _startpos_61, _endpos_62) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | RPAREN ->
                      let _startpos_63 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_64 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_63, _endpos_64) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | UNDERSCORE ->
                          _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
                      | LPAREN_RPAREN ->
                          _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
                      | LPAREN ->
                          _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
                      | LBRACK_AT_AT_AT ->
                          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
                      | LBRACE_BAR ->
                          _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
                      | IDENT _v_65 ->
                          _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_65 MenhirState1070 _menhir_initp
                      | HASH ->
                          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
                      | DOLLAR ->
                          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1070 _menhir_initp
                      | COLON ->
                          let _v_66 = _menhir_action_237 () in
                          _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_64 _endpos_64 _v_66 MenhirState1070 _tok _menhir_initp
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | INT8 _v_67 ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v_67 MenhirState1037 _menhir_initp
          | INT64 _v_68 ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v_68 MenhirState1037 _menhir_initp
          | INT32 _v_69 ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v_69 MenhirState1037 _menhir_initp
          | INT16 _v_70 ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v_70 MenhirState1037 _menhir_initp
          | INT _v_71 ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v_71 MenhirState1037 _menhir_initp
          | IDENT _v_72 ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_72 MenhirState1037 _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1037 _menhir_initp
          | CHAR _v_73 ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v_73 MenhirState1037 _menhir_initp
          | _ ->
              _eRR ())
      | TYPE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_TYPE (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1084 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | SUB_EFFECT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_SUB_EFFECT (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1230 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | SPLICET ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_SPLICET (_menhir_stack, _startpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACK ->
              let _startpos_77 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_LBRACK (_menhir_stack, _startpos_77, _endpos) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v_78 ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_78 MenhirState1248 _menhir_initp
              | IDENT _v_79 ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_79 MenhirState1248 _menhir_initp
              | RBRACK ->
                  let _v_80 = _menhir_action_498 () in
                  _menhir_run_1249 _menhir_stack _menhir_lexbuf _menhir_lexer _v_80 MenhirState1248 _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | SPLICE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_SPLICE (_menhir_stack, _startpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACK ->
              let _startpos_81 = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_LBRACK (_menhir_stack, _startpos_81, _endpos) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v_82 ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v_82 MenhirState1256 _menhir_initp
              | IDENT _v_83 ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_83 MenhirState1256 _menhir_initp
              | RBRACK ->
                  let _v_84 = _menhir_action_498 () in
                  _menhir_run_1257 _menhir_stack _menhir_lexbuf _menhir_lexer _v_84 MenhirState1256 _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | PRAGMA_SHOW_OPTIONS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
          let _v = _menhir_action_371 () in
          _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _tok _menhir_initp
      | PRAGMA_SET_OPTIONS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_PRAGMA_SET_OPTIONS (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1261 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | STRING _v ->
              _menhir_run_1262 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | PRAGMA_RESTART_SOLVER ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
          let _v = _menhir_action_376 () in
          _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _tok _menhir_initp
      | PRAGMA_RESET_OPTIONS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_PRAGMA_RESET_OPTIONS (_menhir_stack, _startpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | STRING _v_88 ->
              _menhir_run_1262 _menhir_stack _menhir_lexbuf _menhir_lexer _v_88 MenhirState1265 _menhir_initp
          | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
              let _v_89 = _menhir_action_359 () in
              _menhir_run_1267 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_89 _tok _menhir_initp
          | _ ->
              _eRR ())
      | PRAGMA_PUSH_OPTIONS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_PRAGMA_PUSH_OPTIONS (_menhir_stack, _startpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | STRING _v_90 ->
              _menhir_run_1262 _menhir_stack _menhir_lexbuf _menhir_lexer _v_90 MenhirState1268 _menhir_initp
          | ASSUME | BLOB _ | CLASS | EFFECT | EOF | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | USE_LANG_BLOB _ | VAL ->
              let _v_91 = _menhir_action_359 () in
              _menhir_run_1269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_91 _tok _menhir_initp
          | _ ->
              _eRR ())
      | PRAGMA_PRINT_EFFECTS_GRAPH ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
          let _v = _menhir_action_377 () in
          _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _tok _menhir_initp
      | PRAGMA_POP_OPTIONS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let (_endpos__1_, _startpos__1_) = (_endpos, _startpos) in
          let _v = _menhir_action_375 () in
          _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos__1_ _startpos__1_ _v _tok _menhir_initp
      | PRAGMA_EVAL ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_PRAGMA_EVAL (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1272 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | PRAGMA_CHECK ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_PRAGMA_CHECK (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1274 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | UINT8 _v ->
              _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT64 _v ->
              _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT32 _v ->
              _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | UINT16 _v ->
              _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | TRY ->
              _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TRUE ->
              _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | TILDE _v ->
              _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SYNTH ->
              _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | STRING _v ->
              _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SIZET _v ->
              _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | SET_RANGE_OF ->
              _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | SEQ_BANG_LBRACK ->
              _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REQUIRES ->
              _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REIFY ->
              _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | REAL _v ->
              _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | RANGE_OF ->
              _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | QUOTE ->
              _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | PERCENT_LBRACK ->
              _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | OPPREFIX _v ->
              _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MINUS ->
              _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | MATCH_OP _v ->
              _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | MATCH ->
              _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN_RPAREN ->
              _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LPAREN ->
              _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LET_OP _v ->
              _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LET ->
              _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LENS_PAREN_LEFT ->
              _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT_AT ->
              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT_AT ->
              _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK_AT ->
              _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACK ->
              _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE_BAR ->
              _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INTRO ->
              _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | INT8 _v ->
              _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT64 _v ->
              _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT32 _v ->
              _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT16 _v ->
              _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | INT _v ->
              _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF_OP _v ->
              _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IF ->
              _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | HASH ->
              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUNCTION ->
              _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FUN ->
              _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FORALL_OP _v ->
              _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | FORALL ->
              _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | FALSE ->
              _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | EXISTS_OP _v ->
              _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | EXISTS ->
              _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ENSURES ->
              _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ELIM ->
              _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DOLLAR ->
              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | DECREASES ->
              _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | CHAR _v ->
              _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | CALC ->
              _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BEGIN ->
              _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BANG_LBRACE ->
              _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_PERC ->
              _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_HASH ->
              _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK_AT ->
              _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | BACKTICK ->
              _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ATTRIBUTES ->
              _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSUME ->
              _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | ASSERT ->
              _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | POLYMONADIC_SUBCOMP ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_POLYMONADIC_SUBCOMP (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1276 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | POLYMONADIC_BIND ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_POLYMONADIC_BIND (_menhir_stack, _startpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LPAREN ->
              let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell0_LPAREN (_menhir_stack, _startpos, _endpos) in
              let _menhir_s = MenhirState1284 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | OPEN ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_OPEN (_menhir_stack, _startpos, _endpos) in
          let _menhir_s = MenhirState1294 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | NEW_EFFECT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_NEW_EFFECT (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1364 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LBRACE ->
              _menhir_run_1365 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | MODULE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_MODULE (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1386 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | UNDERSCORE ->
              let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_UNDERSCORE (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | EQUALS ->
                  let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell0_EQUALS (_menhir_stack, _startpos, _endpos) in
                  let _menhir_s = MenhirState1388 in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | NAME _v ->
                      _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
                  | _ ->
                      _eRR ())
              | _ ->
                  _eRR ())
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | LET ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_LET (_menhir_stack, _startpos, _endpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | REC ->
              _menhir_run_1396 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1395 _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | SQUIGGLY_RARROW | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_149 = _menhir_action_217 () in
              _menhir_run_1397 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_149 MenhirState1395 _tok _menhir_initp
          | _ ->
              _eRR ())
      | LAYERED_EFFECT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_LAYERED_EFFECT (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1402 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | LBRACE ->
              _menhir_run_1365 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | INSTANCE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _menhir_stack = MenhirCell0_INSTANCE (_menhir_stack, _startpos) in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | VAL ->
              let _startpos_150 = _menhir_lexbuf.Lexing.lex_start_p in
              let _menhir_stack = MenhirCell1_VAL (_menhir_stack, MenhirState1404, _startpos_150) in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | LPAREN ->
                  let _startpos_151 = _menhir_lexbuf.Lexing.lex_start_p in
                  let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
                  let _menhir_stack = MenhirCell1_LPAREN (_menhir_stack, MenhirState1405, _startpos_151, _endpos) in
                  let _tok = _menhir_lexer _menhir_lexbuf in
                  (match (_tok : MenhirBasics.token) with
                  | TILDE _v_152 ->
                      let _startpos_153 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_154 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_TILDE (_menhir_stack, MenhirState1406, _v_152, _startpos_153, _endpos_154) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_155 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_156 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_155, _endpos_156) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1408 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1408 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1408 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1408 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1408 _menhir_initp
                          | IDENT _v_157 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_157 MenhirState1408 _menhir_initp
                          | HASH ->
                              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1408 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1408 _menhir_initp
                          | COLON ->
                              let _v_158 = _menhir_action_237 () in
                              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_156 _endpos_156 _v_158 MenhirState1408 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | OP_MIXFIX_ASSIGNMENT _v_159 ->
                      _menhir_run_0048 _menhir_stack _menhir_lexbuf _menhir_lexer _v_159 MenhirState1406 _menhir_initp
                  | OP_MIXFIX_ACCESS _v_160 ->
                      _menhir_run_0049 _menhir_stack _menhir_lexbuf _menhir_lexer _v_160 MenhirState1406 _menhir_initp
                  | OPPREFIX _v_161 ->
                      let _startpos_162 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_163 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_OPPREFIX (_menhir_stack, MenhirState1406, _v_161, _startpos_162, _endpos_163) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_164 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_165 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_164, _endpos_165) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1413 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1413 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1413 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1413 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1413 _menhir_initp
                          | IDENT _v_166 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_166 MenhirState1413 _menhir_initp
                          | HASH ->
                              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1413 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1413 _menhir_initp
                          | COLON ->
                              let _v_167 = _menhir_action_237 () in
                              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_165 _endpos_165 _v_167 MenhirState1413 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | OPINFIX4 _v_168 ->
                      _menhir_run_0072 _menhir_stack _menhir_lexbuf _menhir_lexer _v_168 MenhirState1406 _menhir_initp
                  | OPINFIX3R _v_169 ->
                      _menhir_run_0073 _menhir_stack _menhir_lexbuf _menhir_lexer _v_169 MenhirState1406 _menhir_initp
                  | OPINFIX3L _v_170 ->
                      _menhir_run_0074 _menhir_stack _menhir_lexbuf _menhir_lexer _v_170 MenhirState1406 _menhir_initp
                  | OPINFIX2 _v_171 ->
                      _menhir_run_0075 _menhir_stack _menhir_lexbuf _menhir_lexer _v_171 MenhirState1406 _menhir_initp
                  | OPINFIX1 _v_172 ->
                      _menhir_run_0076 _menhir_stack _menhir_lexbuf _menhir_lexer _v_172 MenhirState1406 _menhir_initp
                  | OPINFIX0d _v_173 ->
                      _menhir_run_0077 _menhir_stack _menhir_lexbuf _menhir_lexer _v_173 MenhirState1406 _menhir_initp
                  | OPINFIX0c _v_174 ->
                      _menhir_run_0078 _menhir_stack _menhir_lexbuf _menhir_lexer _v_174 MenhirState1406 _menhir_initp
                  | OPINFIX0b _v_175 ->
                      _menhir_run_0079 _menhir_stack _menhir_lexbuf _menhir_lexer _v_175 MenhirState1406 _menhir_initp
                  | OPINFIX0a _v_176 ->
                      _menhir_run_0080 _menhir_stack _menhir_lexbuf _menhir_lexer _v_176 MenhirState1406 _menhir_initp
                  | MINUS ->
                      let _startpos_177 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_178 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_MINUS (_menhir_stack, MenhirState1406, _startpos_177, _endpos_178) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_179 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_180 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_179, _endpos_180) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
                          | IDENT _v_181 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_181 MenhirState1418 _menhir_initp
                          | HASH ->
                              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1418 _menhir_initp
                          | COLON ->
                              let _v_182 = _menhir_action_237 () in
                              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_180 _endpos_180 _v_182 MenhirState1418 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | LET_OP _v_183 ->
                      let _startpos_184 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_185 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_LET_OP (_menhir_stack, MenhirState1406, _v_183, _startpos_184, _endpos_185) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_186 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_187 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_186, _endpos_187) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1423 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1423 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1423 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1423 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1423 _menhir_initp
                          | IDENT _v_188 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_188 MenhirState1423 _menhir_initp
                          | HASH ->
                              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1423 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1423 _menhir_initp
                          | COLON ->
                              let _v_189 = _menhir_action_237 () in
                              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_187 _endpos_187 _v_189 MenhirState1423 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | IMPLIES ->
                      _menhir_run_0263 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1406 _menhir_initp
                  | IFF ->
                      _menhir_run_0264 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1406 _menhir_initp
                  | FORALL_OP _v_190 ->
                      let _startpos_191 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_192 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_FORALL_OP (_menhir_stack, MenhirState1406, _v_190, _startpos_191, _endpos_192) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_193 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_194 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_193, _endpos_194) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1428 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1428 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1428 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1428 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1428 _menhir_initp
                          | IDENT _v_195 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_195 MenhirState1428 _menhir_initp
                          | HASH ->
                              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1428 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1428 _menhir_initp
                          | COLON ->
                              let _v_196 = _menhir_action_237 () in
                              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_194 _endpos_194 _v_196 MenhirState1428 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | EXISTS_OP _v_197 ->
                      let _startpos_198 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_199 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_EXISTS_OP (_menhir_stack, MenhirState1406, _v_197, _startpos_198, _endpos_199) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_200 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_201 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_200, _endpos_201) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1433 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1433 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1433 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1433 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1433 _menhir_initp
                          | IDENT _v_202 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_202 MenhirState1433 _menhir_initp
                          | HASH ->
                              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1433 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1433 _menhir_initp
                          | COLON ->
                              let _v_203 = _menhir_action_237 () in
                              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_201 _endpos_201 _v_203 MenhirState1433 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | EQUALS ->
                      _menhir_run_0269 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1406 _menhir_initp
                  | DISJUNCTION ->
                      _menhir_run_0270 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1406 _menhir_initp
                  | CONJUNCTION ->
                      _menhir_run_0271 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1406 _menhir_initp
                  | COLON_EQUALS ->
                      _menhir_run_0272 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1406 _menhir_initp
                  | COLON_COLON ->
                      _menhir_run_0273 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1406 _menhir_initp
                  | AND_OP _v_204 ->
                      let _startpos_205 = _menhir_lexbuf.Lexing.lex_start_p in
                      let _endpos_206 = _menhir_lexbuf.Lexing.lex_curr_p in
                      let _menhir_stack = MenhirCell1_AND_OP (_menhir_stack, MenhirState1406, _v_204, _startpos_205, _endpos_206) in
                      let _tok = _menhir_lexer _menhir_lexbuf in
                      (match (_tok : MenhirBasics.token) with
                      | RPAREN ->
                          let _startpos_207 = _menhir_lexbuf.Lexing.lex_start_p in
                          let _endpos_208 = _menhir_lexbuf.Lexing.lex_curr_p in
                          let _menhir_stack = MenhirCell0_RPAREN (_menhir_stack, _startpos_207, _endpos_208) in
                          let _tok = _menhir_lexer _menhir_lexbuf in
                          (match (_tok : MenhirBasics.token) with
                          | UNDERSCORE ->
                              _menhir_run_0124 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1438 _menhir_initp
                          | LPAREN_RPAREN ->
                              _menhir_run_0125 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1438 _menhir_initp
                          | LPAREN ->
                              _menhir_run_0126 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1438 _menhir_initp
                          | LBRACK_AT_AT_AT ->
                              _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1438 _menhir_initp
                          | LBRACE_BAR ->
                              _menhir_run_0150 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1438 _menhir_initp
                          | IDENT _v_209 ->
                              _menhir_run_0127 _menhir_stack _menhir_lexbuf _menhir_lexer _v_209 MenhirState1438 _menhir_initp
                          | HASH ->
                              _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1438 _menhir_initp
                          | DOLLAR ->
                              _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1438 _menhir_initp
                          | COLON ->
                              let _v_210 = _menhir_action_237 () in
                              _menhir_run_0239 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_208 _endpos_208 _v_210 MenhirState1438 _tok _menhir_initp
                          | _ ->
                              _eRR ())
                      | _ ->
                          _eRR ())
                  | _ ->
                      _eRR ())
              | IDENT _v_211 ->
                  _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v_211 MenhirState1405 _menhir_initp
              | _ ->
                  _eRR ())
          | REC ->
              _menhir_run_1396 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1404 _menhir_initp
          | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | SQUIGGLY_RARROW | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
              let _v_212 = _menhir_action_217 () in
              _menhir_run_1451 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v_212 MenhirState1404 _tok _menhir_initp
          | _ ->
              _eRR ())
      | INCLUDE ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_INCLUDE (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1453 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | FRIEND ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_FRIEND (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1456 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | EXCEPTION ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_EXCEPTION (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1458 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | EFFECT ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_EFFECT (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1463 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | LBRACE ->
              let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
              let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
              let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
              let _menhir_s = MenhirState1464 in
              let _tok = _menhir_lexer _menhir_lexbuf in
              (match (_tok : MenhirBasics.token) with
              | NAME _v ->
                  _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
              | _ ->
                  _eRR ())
          | _ ->
              _eRR ())
      | CLASS ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _menhir_stack = MenhirCell0_CLASS (_menhir_stack, _startpos) in
          let _menhir_s = MenhirState1475 in
          let _tok = _menhir_lexer _menhir_lexbuf in
          (match (_tok : MenhirBasics.token) with
          | NAME _v ->
              _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | IDENT _v ->
              _menhir_run_0057 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
          | _ ->
              _eRR ())
      | BLOB _v_221 ->
          let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
          let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
          let _tok = _menhir_lexer _menhir_lexbuf in
          let (_endpos_blob_, _startpos_blob_, blob) = (_endpos, _startpos, _v_221) in
          let _v = _menhir_action_454 _endpos_blob_ _startpos_blob_ blob in
          _menhir_goto_rawDecl _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_blob_ _startpos_blob_ _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1262 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let (_endpos_s_, s) = (_endpos, _v) in
      let _v = _menhir_action_572 s in
      _menhir_goto_string _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_string : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1261 ->
          _menhir_run_1263 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1265 ->
          _menhir_run_1266 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1268 ->
          _menhir_run_1266 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1263 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_SET_OPTIONS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_PRAGMA_SET_OPTIONS (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_s_, s) = (_endpos, _v) in
      let _v = _menhir_action_372 s in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1266 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let (_endpos_x_, x) = (_endpos, _v) in
      let _v = _menhir_action_360 x in
      _menhir_goto_option_string_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_x_ _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_option_string_ : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1265 ->
          _menhir_run_1267 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | MenhirState1268 ->
          _menhir_run_1269 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1267 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_RESET_OPTIONS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_PRAGMA_RESET_OPTIONS (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_s_opt_, s_opt) = (_endpos, _v) in
      let _v = _menhir_action_373 s_opt in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_opt_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1269 : type  ttv_stack ttv_result. (ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_PRAGMA_PUSH_OPTIONS -> _ -> _ -> _ -> _ -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _tok _menhir_initp ->
      let MenhirCell0_PRAGMA_PUSH_OPTIONS (_menhir_stack, _startpos__1_) = _menhir_stack in
      let (_endpos_s_opt_, s_opt) = (_endpos, _v) in
      let _v = _menhir_action_374 s_opt in
      _menhir_goto_pragma _menhir_stack _menhir_lexbuf _menhir_lexer _endpos_s_opt_ _startpos__1_ _v _tok _menhir_initp
  
  and _menhir_run_1365 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_stack = MenhirCell1_LBRACE (_menhir_stack, _menhir_s, _startpos, _endpos) in
      let _menhir_s = MenhirState1365 in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1396 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      let _v = _menhir_action_216 () in
      _menhir_goto_letqualifier _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
  
  and _menhir_goto_letqualifier : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      match _menhir_s with
      | MenhirState1395 ->
          _menhir_run_1397 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | MenhirState1404 ->
          _menhir_run_1451 _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _menhir_fail ()
  
  and _menhir_run_1397 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_LET as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_letqualifier (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1397 _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _menhir_s = MenhirState1397 in
          let _v = _menhir_action_140 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1451 : type  ttv_stack ttv_result. ((ttv_stack, ttv_result) _menhir_cell1_list_decoration_ _menhir_cell0_INSTANCE as 'stack) -> _ -> _ -> _ -> _ -> ('stack, ttv_result) _menhir_state -> _ -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _v _menhir_s _tok _menhir_initp ->
      let _menhir_stack = MenhirCell1_letqualifier (_menhir_stack, _menhir_s, _v) in
      match (_tok : MenhirBasics.token) with
      | SQUIGGLY_RARROW ->
          _menhir_run_0428 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1451 _menhir_initp
      | BACKTICK_PERC | CHAR _ | DOLLAR | DOT_DOT | FALSE | HASH | IDENT _ | INT _ | INT16 _ | INT32 _ | INT64 _ | INT8 _ | LBRACE | LBRACK | LBRACK_AT_AT_AT | LENS_PAREN_LEFT | LPAREN | LPAREN_RPAREN | MINUS | NAME _ | RANGE_OF | REAL _ | REIFY | SET_RANGE_OF | SIZET _ | STRING _ | TRUE | UINT16 _ | UINT32 _ | UINT64 _ | UINT8 _ | UNDERSCORE ->
          let _menhir_s = MenhirState1451 in
          let _v = _menhir_action_140 () in
          _menhir_goto_boption_SQUIGGLY_RARROW_ _menhir_stack _menhir_lexbuf _menhir_lexer _endpos _endpos _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  and _menhir_run_1031 : type  ttv_stack ttv_result. ttv_stack -> _ -> _ -> (ttv_stack, ttv_result) _menhir_state -> _ -> ttv_result =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp ->
      let _startpos = _menhir_lexbuf.Lexing.lex_start_p in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | NAME _v ->
          let _menhir_stack = MenhirCell1_ASSUME (_menhir_stack, _menhir_s, _startpos, _endpos) in
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1031 _menhir_initp
      | ASSUME | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INLINE | INLINE_FOR_EXTRACTION | INSTANCE | IRREDUCIBLE | LAYERED_EFFECT | LBRACK_AT | LBRACK_AT_AT | LET | LOGIC | MODULE | NEW | NEW_EFFECT | NOEQUALITY | NOEXTRACT | OPAQUE | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | PRIVATE | REFLECTABLE | REIFIABLE | SPLICE | SPLICET | SUB_EFFECT | TOTAL | TYPE | UNFOLD | UNFOLDABLE | UNOPTEQUALITY | VAL ->
          let _v = _menhir_action_407 () in
          _menhir_goto_qualifier _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _tok _menhir_initp
      | _ ->
          _eRR ()
  
  let _menhir_run_0000 : type  ttv_stack. ttv_stack -> _ -> _ -> _menhir_box_inputFragment =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | USE_LANG_BLOB _v ->
          _menhir_run_0001 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0000 _endpos
      | UNOPTEQUALITY ->
          _menhir_run_0002 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | IRREDUCIBLE ->
          _menhir_run_1028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_1029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | INLINE ->
          _menhir_run_1030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | ASSUME ->
          _menhir_run_1031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState0000 _endpos
      | EOF ->
          let _v = _menhir_action_233 () in
          _menhir_run_1481 _menhir_stack _v
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | SPLICE | SPLICET | SUB_EFFECT | TYPE | VAL ->
          let _v = _menhir_action_235 () in
          _menhir_run_1036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState0000 _tok _endpos
      | _ ->
          _eRR ()
  
  let _menhir_run_1490 : type  ttv_stack. ttv_stack -> _ -> _ -> _menhir_box_oneDeclOrEOF =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer ->
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | USE_LANG_BLOB _v ->
          _menhir_run_0001 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1490 _endpos
      | UNOPTEQUALITY ->
          _menhir_run_0002 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | UNFOLDABLE ->
          _menhir_run_0003 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | UNFOLD ->
          _menhir_run_0004 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | TOTAL ->
          _menhir_run_0005 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | REIFIABLE ->
          _menhir_run_0006 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | REFLECTABLE ->
          _menhir_run_0007 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | PRIVATE ->
          _menhir_run_0008 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | OPAQUE ->
          _menhir_run_0009 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | NOEXTRACT ->
          _menhir_run_0010 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | NOEQUALITY ->
          _menhir_run_0011 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | NEW ->
          _menhir_run_0012 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | LOGIC ->
          _menhir_run_0013 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | IRREDUCIBLE ->
          _menhir_run_1028 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | INLINE_FOR_EXTRACTION ->
          _menhir_run_1029 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | INLINE ->
          _menhir_run_1030 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | EOF ->
          let _v = _menhir_action_312 () in
          _menhir_goto_oneDeclOrEOF _menhir_stack _v
      | ASSUME ->
          _menhir_run_1031 _menhir_stack _menhir_lexbuf _menhir_lexer MenhirState1490 _endpos
      | BLOB _ | CLASS | EFFECT | EXCEPTION | FRIEND | INCLUDE | INSTANCE | LAYERED_EFFECT | LET | MODULE | NEW_EFFECT | OPEN | POLYMONADIC_BIND | POLYMONADIC_SUBCOMP | PRAGMA_CHECK | PRAGMA_EVAL | PRAGMA_POP_OPTIONS | PRAGMA_PRINT_EFFECTS_GRAPH | PRAGMA_PUSH_OPTIONS | PRAGMA_RESET_OPTIONS | PRAGMA_RESTART_SOLVER | PRAGMA_SET_OPTIONS | PRAGMA_SHOW_OPTIONS | SPLICE | SPLICET | SUB_EFFECT | TYPE | VAL ->
          let _v = _menhir_action_235 () in
          _menhir_run_1036 _menhir_stack _menhir_lexbuf _menhir_lexer _v MenhirState1490 _tok _endpos
      | _ ->
          _eRR ()
  
  let _menhir_run_1546 : type  ttv_stack. ttv_stack -> _ -> _ -> _menhir_box_term =
    fun _menhir_stack _menhir_lexbuf _menhir_lexer ->
      let _menhir_s = MenhirState1546 in
      let _endpos = _menhir_lexbuf.Lexing.lex_curr_p in
      let _menhir_initp = _endpos in
      let _tok = _menhir_lexer _menhir_lexbuf in
      match (_tok : MenhirBasics.token) with
      | UNDERSCORE ->
          _menhir_run_0015 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | UINT8 _v ->
          _menhir_run_0018 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT64 _v ->
          _menhir_run_0019 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT32 _v ->
          _menhir_run_0020 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | UINT16 _v ->
          _menhir_run_0021 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | TRY ->
          _menhir_run_0027 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TRUE ->
          _menhir_run_0022 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | TILDE _v ->
          _menhir_run_0028 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SYNTH ->
          _menhir_run_0033 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | STRING _v ->
          _menhir_run_0023 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SIZET _v ->
          _menhir_run_0024 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | SET_RANGE_OF ->
          _menhir_run_0025 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | SEQ_BANG_LBRACK ->
          _menhir_run_0026 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REQUIRES ->
          _menhir_run_0046 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REIFY ->
          _menhir_run_0029 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | REAL _v ->
          _menhir_run_0030 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | RANGE_OF ->
          _menhir_run_0031 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | QUOTE ->
          _menhir_run_0043 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | PERCENT_LBRACK ->
          _menhir_run_0032 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | OPPREFIX _v ->
          _menhir_run_0034 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | NAME _v ->
          _menhir_run_0036 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MINUS ->
          _menhir_run_0044 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | MATCH_OP _v ->
          _menhir_run_0061 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | MATCH ->
          _menhir_run_0062 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN_RPAREN ->
          _menhir_run_0037 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LPAREN ->
          _menhir_run_0047 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LET_OP _v ->
          _menhir_run_0063 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | LET ->
          _menhir_run_0087 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LENS_PAREN_LEFT ->
          _menhir_run_0041 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT_AT ->
          _menhir_run_0086 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT_AT ->
          _menhir_run_0014 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK_AT ->
          _menhir_run_0091 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACK ->
          _menhir_run_0045 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE_BAR ->
          _menhir_run_0108 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | LBRACE ->
          _menhir_run_0109 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INTRO ->
          _menhir_run_0121 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | INT8 _v ->
          _menhir_run_0052 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT64 _v ->
          _menhir_run_0053 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT32 _v ->
          _menhir_run_0054 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT16 _v ->
          _menhir_run_0055 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | INT _v ->
          _menhir_run_0056 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF_OP _v ->
          _menhir_run_0187 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | IF ->
          _menhir_run_0188 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | IDENT _v ->
          _menhir_run_0122 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | HASH ->
          _menhir_run_0106 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUNCTION ->
          _menhir_run_0189 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FUN ->
          _menhir_run_0093 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FORALL_OP _v ->
          _menhir_run_0123 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | FORALL ->
          _menhir_run_0149 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | FALSE ->
          _menhir_run_0058 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | EXISTS_OP _v ->
          _menhir_run_0228 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | EXISTS ->
          _menhir_run_0243 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ENSURES ->
          _menhir_run_0283 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ELIM ->
          _menhir_run_0301 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DOLLAR ->
          _menhir_run_0128 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | DECREASES ->
          _menhir_run_0308 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | CHAR _v ->
          _menhir_run_0059 _menhir_stack _menhir_lexbuf _menhir_lexer _v _menhir_s _menhir_initp
      | CALC ->
          _menhir_run_0310 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BEGIN ->
          _menhir_run_0060 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BANG_LBRACE ->
          _menhir_run_0092 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_PERC ->
          _menhir_run_0284 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_HASH ->
          _menhir_run_0286 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK_AT ->
          _menhir_run_0288 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | BACKTICK ->
          _menhir_run_0290 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ATTRIBUTES ->
          _menhir_run_0313 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSUME ->
          _menhir_run_0317 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | ASSERT ->
          _menhir_run_0318 _menhir_stack _menhir_lexbuf _menhir_lexer _menhir_s _menhir_initp
      | _ ->
          _eRR ()
  
end

let term =
  fun _menhir_lexer _menhir_lexbuf ->
    let _menhir_stack = () in
    let MenhirBox_term v = _menhir_run_1546 _menhir_stack _menhir_lexbuf _menhir_lexer in
    v

let oneDeclOrEOF =
  fun _menhir_lexer _menhir_lexbuf ->
    let _menhir_stack = () in
    let MenhirBox_oneDeclOrEOF v = _menhir_run_1490 _menhir_stack _menhir_lexbuf _menhir_lexer in
    v

let inputFragment =
  fun _menhir_lexer _menhir_lexbuf ->
    let _menhir_stack = () in
    let MenhirBox_inputFragment v = _menhir_run_0000 _menhir_stack _menhir_lexbuf _menhir_lexer in
    v
